javascript - 我应该/如何清除 mousemove JQuery 事件监听器?

标签 javascript jquery

当我使用时

$(".page").mousemove(function(event){});

一旦 mouseup 事件发生,我就不再需要这个监听器了。由于我将针对不同的操作重复应用监听器,因此在我看来,当用户多次激活该功能时,这些监听器可能会保留并积累(不必要地浪费 CPU)。我不太确定这在内部是如何工作的,这只是我的猜测。

我应该/如何清除 mousemove JQuery 事件监听器?

最佳答案

这是代码:

$('.page').off('mousemove');

但请注意,以下方法会关闭 mousemove 上触发的所有函数。如果您想关闭特定功能,那么您应该执行以下操作:

// Define function that fires on mousemove
function anyFunctionName () {
    // Some code
}

// Set listener
$('.page').on('mousemove', anyFunctionName);

// Turn off only function called funcionName
$('.page').off('mousemove', anyFunctionName);

关闭特定功能的另一种方法是定义事件的名称:

// Define function that fires on mousemove
function anyFunctionName () {
    // Some code
}

// Set listener
$('.page').on('mousemove.anyEventName', anyFunctionName);

// Turn off only function fired on event called anyEventName
$('.page').off('mousemove.anyEventName');

关于javascript - 我应该/如何清除 mousemove JQuery 事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29394904/

相关文章:

javascript - 无法删除 Google Maps JS API 中的标记

jquery - 用按钮扩展div,显示隐藏在div中的更多信息

jquery - 如何在jquery中找到select的选定值

javascript - 如何迭代系列 : 1, -2、3、-4、5、-6、7、-8、...?

javascript - fadeOut 然后改变图像

javascript - Angular 7 中的 Controller 在哪里,因为它遵循 mvc 架构

javascript - 使用 Javascript 闭包完成处理程序的 Parse.com 查询查找不显示结果

javascript - 如何将字符串参数传递给ng-click

javascript - 使用 Bootstrap 显示模态的问题

jquery - 交换表格行的顺序但保留斑马条纹