2017-08-11 4 views
-3

NO JQUERY !!!!!!Vanille JavaScript binden ein mouseout Ereignis

Ich muss dies in reinem JS schreiben. Ich habe eine Reihe von Elementen in einer Kalender-Timeline, einige sind mit invoice_id verknüpft, so dass ich allen übereinstimmenden Klassenelementen eine Hover-Klasse hinzufügen möchte, wenn die Maus über einer liegt, und dann die Hover-Klasse entfernen.

Ich habe die Maus über Teil alles funktioniert gut, aber ich kämpfe um die Maus aus Ereignis zu arbeiten.

hier ist meine 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?? 
} 

Ich habe ein ähnliches Skript jQuery ausgeführt wird, das dies tut genau, aber in diesem Szenario kann ich nicht jQuery verwenden.

Die jQuery-Version sieht wie folgt aus:

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

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

nach Antwort EDITED:

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"; 
    }); 
} 
} 
+0

*** seufz *** Du meinst "reines DOM", nicht "reines JS". jQuery ist eine Bibliothek, keine Sprache. Ob Sie das DOM oder jQuery verwenden, die ** Sprache ** (JavaScript) ist identisch. –

+0

developer.mozilla.org/en-US/docs/Web/Events/mouseout –

+0

Das hängt davon ab, "Wie hake ich ein Ereignis mit dem DOM?" Das kleinste bisschen Forschung hätte hier und im Internet eine Antwort auf diese Frage gefunden. –

Antwort

0

Ist das, was Sie suchen?

object.addEventListener("mouseout", function(){ 
... 
});