当用户在网页上移动鼠标时,我想跟踪它。然后我想取消绑定该侦听器,以便不再跟踪mousemove。我怎样才能做到这一点?下面的代码似乎不起作用。
var clearIdleInterval = function () {
console.dir('unbind');
clearInterval(this.idleInterval);
$(document).unbind('mousemove', clearIdleInterval.bind(this));
$(document).unbind('keypress', clearIdleInterval.bind(this));
};
$(document).bind('mousemove', clearIdleInterval.bind(this));
$(document).bind('keypress', clearIdleInterval.bind(this));
答案 0 :(得分:0)
使用.unbind()
取消绑定事件。如下图所示。
注意:如果要取消绑定特定元素的mousemove
事件,并避免影响其他处理程序,也可以这样做。例如
$( "#foo" ).unbind( "mousemove.myEvents" );
记录得非常好here
希望这很有用。
$(document).bind('mousemove', function(e){
$(".test").html(`${e.clientX} , ${e.clientY}`)
});
function unBind(){
$(document).unbind( "mousemove" );
}
.test{
text-align: center;
vertical-align: middle;
line-height: 90px;
height : 200px;
width : 200px;
border : solid;
margin-top : 30px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button onclick="unBind()">Un Bind</button>
<div class="test"></div>