在Javascript或JQuery上,在运行添加/删除mousemove事件时
我需要第一次点击屏幕时的位置。我做到了。但我需要更多。 mousedown事件运行时,mousemove事件也将运行。当mouseup事件运行时,mousemove事件将不起作用在Javascript或JQuery上,在运行添加/删除mousemove事件时,javascript,jquery,Javascript,Jquery,我需要第一次点击屏幕时的位置。我做到了。但我需要更多。 mousedown事件运行时,mousemove事件也将运行。当mouseup事件运行时,mousemove事件将不起作用 $("#canvas").mousedown(function (e) { console.log("First: down position: " + e.pageX + "---" + e.pageY); canvasMove("canvas"); });
$("#canvas").mousedown(function (e) {
console.log("First: down position: " + e.pageX + "---" + e.pageY);
canvasMove("canvas");
});
$("#canvas").mouseup(function (e) {
console.log("Last: up position: " + e.pageX + "---" + e.pageY);
});
function canvasMove(id) {
$(id).mousemove(function (e) {
console.log("move position: " + e.pageX + "---" + e.pageY);
});
}
那么如何在mouseup事件中删除mousemove事件呢
$("#canvas").off('mousemove')
如果您有其他内容正在侦听鼠标,则可以使用名称空间事件附加处理程序,如
$("#canvas").on('mousemove.loggingPosition')
然后取下它
$("#canvas").off('mousemove.loggingPosition')
您可以使用
on
和off
方法执行类似操作:
function canvasMove(id) {
$(id).on("mouseup",function (e) {
$( this ).off("mousemove");
console.log("move position: " + e.pageX + "---" + e.pageY);
});
}
有关更多信息,请访问bind和unbind已被弃用-请改用on和off