mouseout杀死函数javascript

时间:2013-10-29 13:14:32

标签: javascript jquery html javascript-events kill-process

所以我有一个javascript函数,可以通过标签内的onmouseover调用。这一切似乎都有效,我想通过在html标签中使用onmouseout或一些等价物来阻止它。但我不确定这是不好的做法。 是否可以编写函数来监听mouseout事件而不触及html.Or甚至可以更好地在我当前函数中包含一些代码,以便在鼠标离开时自行终止。 我的HTML看起来像这样:

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

我的js功能是:

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

所以我希望的不是包括

    onmouseout="killerFunction()"

在html标签内部,我希望函数能够自己监听这个事件,但更好的是原始函数 - callFunction(id)能够监听这个并保存编写额外的函数

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

如果您正在使用jQuery,您可以使用.on()函数收听事件,而无需更改HTML本身:

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

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

$('a').on('mouseover', callFunction);

答案 2 :(得分:0)

$( "#id" )
  .mouseout(function() {
    //on mouseout  to do
  })
  .mouseover(function() {
    //on mouseover  to do
  });

jquery这样做的方式..