是否有鼠标在javascript中输入事件(只有JavaScript,请不要使用jQuery)?
当我这样做时,它没有给出任何回应。
window.onload = initAll;
function initAll(){
if(window.addEventListener){
document.getElementById('container').addEventListener( 'mouseenter', freeze , false);
}
}
function freeze(){
console.log("mouse entered")
}
有人可以解释一下'mouseenter'和'mouseover'之间的区别吗? 'mouseover'是'mouseenter'的替代品吗?
帮助感谢!
答案 0 :(得分:3)
不要为onmouseenter
而烦恼,因为this page说明了IE的具体内容。
...当鼠标进入元素边界时,onmouseenter和onmouseover都会触发。但是,如果鼠标在第一个元素中输入子元素,则onmouseenter不会再次触发(不会冒泡)。
试试onmouseover
:
yourObject.onmouseover=function()
{
//SomeJavaScriptCode
};
检查this page以获取有关javascript鼠标事件的一些有用信息。
答案 1 :(得分:0)
当然,Mouseover是mouseenter的替代品。它为任何dom元素的UI控件提供了访问权限。 请参考此进一步解释 http://dean.edwards.name/weblog/2005/10/add-event/ mouseenter without JQuery
答案 2 :(得分:0)
如果您使用jQuery,请使用mouseenter
和mouseleave
代替mouseover
和mouseout
。
如果您采用上面的示例,边框内的所有内容都是一个元素,让我们调用左边的一个元素,其中包含“名称”字样#A。只有在边界#A内移动鼠标时才会触发mouseenter
。另一方面,mouseover
会在您进入边框时触发,当您将鼠标移动到“1”后面的灰色背景时再次触发,再次将鼠标移动到“名称”字样时。如果您希望触发一次事件,请使用mouseenter
。
答案 3 :(得分:-2)
当您将鼠标悬停在某物上时,会使用鼠标悬停。单击鼠标时将使用鼠标输入(或mousedown)。可以找到完整的javascript事件列表here