当我使用时
$(".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/