JavaScript:JavaScript中的mouseenter事件?

时间:2013-05-23 12:24:40

标签: javascript mouseevent mouseover mouseenter

是否有鼠标在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'的替代品吗?

帮助感谢!

4 个答案:

答案 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,请使用mouseentermouseleave代替mouseovermouseout

enter image description here

如果您采用上面的示例,边框内的所有内容都是一个元素,让我们调用左边的一个元素,其中包含“名称”字样#A。只有在边界#A内移动鼠标时才会触发mouseenter。另一方面,mouseover会在您进入边框时触发,当您将鼠标移动到“1”后面的灰色背景时再次触发,再次将鼠标移动到“名称”字样时。如果您希望触发一次事件,请使用mouseenter

答案 3 :(得分:-2)

当您将鼠标悬停在某物上时,会使用鼠标悬停。单击鼠标时将使用鼠标输入(或mousedown)。可以找到完整的javascript事件列表here