如何让我的Javascript事件处理程序只执行一次?

时间:2015-01-07 17:26:43

标签: javascript jquery

我有一些JS代码可以跟踪用户的鼠标是否离开窗口。如何使用jQuery仅使此事件触发一次? (对不起,我是Javascript的新手,也是编程新手。)

鼠标跟踪代码:

addEvent(document,"mouseout",function(e){
e = e ? e : window.event;
var from = e.relatedTarget || e.toElement;
if(!from || from.nodeName == "HTML"){
//cursor has left, add action here
window.location.href = '#popup1';
}
});

我相信这就是我要实现的目的,只是让事件发生一次:

$(document).ready(function(){
    $("button").one("event", function(evt){
      //Your Code
    });
 });

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您未使用one()功能,该功能应与您所描述的相同,则可以使用on()off()

执行相同操作
$( "#foo" ).on( "click", function( event ) {
    alert( "This will be displayed only once." );
    $( this ).off( event );
});

答案 1 :(得分:0)

你不能做这样的事吗?

$(window).one('mouseout', function () { 
   alert();
});

http://jsfiddle.net/20av9bnr/2/