1

我有一个通过标签onmouseover内部调用的 JavaScript 函数。<a>这一切似乎都奏效了,我想到了一个解决方案,通过onmouseout在 html 标记中使用或类似的东西来停止它。但我不确定这是否是不好的做法。

是否可以编写函数来监听mouseout事件而不接触 html?或者甚至更好地在我当前的函数中包含一些代码以在鼠标离开时杀死自己?我的 html 看起来像这样:

    <a onmouseover="callFunction(id)" ......

我的js函数是:

    function callFunction(id){
        //does some amazing stuff inside here
    }

所以我希望的是而不是包括:

    onmouseout="killerFunction()"

在 html 标记内,我希望函数自己侦听此事件,但更好的是原始函数 -callFunction(id)能够侦听此事件并节省编写额外函数。

4

3 回答 3

0

如果您使用的是 jQuery,您可以使用该.on()函数侦听事件,而无需更改 HTML 本身:

$('html').on('mouseout', killerFunction);

您也可以为您的活动做类似的mouseover事情:

$('a').on('mouseover', callFunction);
于 2013-10-29T13:20:11.723 回答
0

您可以在 HTML 之外注册事件处理程序:

document.getElementById("id").onmouseover = function() {
    ..yada yada
    //register another handler here if need be
}

或者

document.getElementById("id").addEventListener("mouseover", function() {
   ..yada yada
}, false);
于 2013-10-29T13:16:35.920 回答
0
$( "#id" )
  .mouseout(function() {
    //on mouseout  to do
  })
  .mouseover(function() {
    //on mouseover  to do
  });

这样做的jquery方式..

于 2013-10-29T13:20:38.040 回答