Ванильный JavaScript связывает событие mouseout

НЕТ JQUERY!!!!!!

Мне нужно написать это на чистом JS. У меня есть куча элементов на временной шкале календаря, некоторые из которых связаны с помощью invoice_id, поэтому я хочу добавить класс наведения ко всем соответствующим элементам класса, когда мышь наведена на один из них, а затем удалить класс наведения мыши при наведении мыши.

У меня на мыши над частью все работает нормально, но я изо всех сил пытаюсь заставить событие мыши работать.

вот мой JS:

function highlightRange(id)
{
 var d = document.getElementsByClassName('invoiceCell' + id);   // get all the elements

d.className += "hover";                                         // add the hover class

for (var i = 0; i < d.length; i++) {                            // remove the hidden class
   d[i].classList.remove('hidden');
}

// now how to I bind the mouseout event??
}

У меня есть аналогичный скрипт, выполняющий jQuery, который делает именно это, но в этом сценарии я не могу использовать jQuery.

Версия jQuery выглядит так:

function highlightRange(id)
{
$(".price_cell_"+id).addClass('hover');

$(this).bind("mouseout", function(){
    $(".price_cell_"+id).removeClass('hover');
})
}

ИЗМЕНЕНО после ответа:

function highlightRange(id)
{
var d = document.getElementsByClassName('invoiceCell' + id);    // get all the elements

d.className += "hover";                                         // add the hover class

for (var i = 0; i < d.length; i++)                              // remove the hidden class
{
   d[i].classList.remove('hidden');

   d[i].on('mouseout', function(){
        d[i].classList.remove('hover');
        d[i].className += "hidden";
    });
}
}

1 ответ

Это то, что вы ищете?

object.addEventListener("mouseout", function(){
...
});
Другие вопросы по тегам