Reputation: 903
I am trying to detect the mouseover
event on multiple elements, preferably by class.
For example:
<div class="myElement">1</div>
<div class="myElement">2</div>
<div class="myElement">3</div>
<div class="myElement">4</div>
selectClass("myElement").onmouseover = function() {
console.log("Detected mouse!");
};
Upvotes: 0
Views: 1409
Reputation: 41
Here is a working version:
document.querySelectorAll(".your_class").forEach(elem => {
elem.addEventListener("mouseover", () => {
doSomeThing();
})
elem.addEventListener("mouseout", () => {
secondThing();
})
});
Upvotes: 0
Reputation: 3589
I hope I've been helpful
var x = document.getElementsByClassName("myElement");
for (let i = 0; i < x.length; i++) {
x[i].setAttribute("onmouseover", "hoho()")
}
function hoho() {
console.log("mouse")
}
Upvotes: 0
Reputation: 1406
With the code below you get all the elements with the classname "myElement" and loop over them. The loop adds an event listener so when you click on the element it calls the function elementClicked which in return logs "An element was clicked!" to the console.
var elements = document.getElementsByClassName('myElement');
function elementClicked() {
console.log("An element was clicked!");
}
for (let i = 0; i < elements.length; i++) {
elements[i].onmouseover = function() {
elementClicked();
};
}
Upvotes: 1