4

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

4 回答 4

4

不要打扰onmouseenter,因为此页面说明它特定于 IE。

...当鼠标进入元素的边界时,onmouseenter 和 onmouseover 都会触发。但是,如果鼠标进入第一个元素中的子元素,则 onmouseenter 不会再次触发(不会冒泡)。

试试这个onmouseover

yourObject.onmouseover=function()
    {
        //SomeJavaScriptCode
    };

检查此页面以获取有关 javascript 鼠标事件的一些有用信息。

于 2013-05-23T12:29:22.327 回答
0

当然,Mouseover 是 mouseenter 的替代品。它为正在访问的任何 dom 元素提供 UI 控制。参考这个以获得进一步的解释 http://dean.edwards.name/weblog/2005/10/add-event/ mouseenter 没有 JQuery

于 2013-05-23T12:32:04.617 回答
0

如果您使用 jQuery,请使用mouseenterandmouseleave而不是mouseoverand mouseout

在此处输入图像描述

如果您以上面的示例为例,边框内的所有内容都是一个元素,让我们将左侧带有“名称”一词的元素称为#A。mouseenter仅当将鼠标移到边框#A 内时才会触发。mouseover另一方面,当您进入边框时,当您将鼠标移过“1”后面的灰色背景时再次触发,当您将鼠标移到“名称”一词上时再次触发。如果您希望事件触发一次,请使用mouseenter.

于 2014-08-10T11:29:30.933 回答
-2

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

于 2013-05-23T12:29:30.773 回答