我正在寻找一种管理事件的方法。我有元素 A 的悬停功能,元素 B 的单击功能。我想在第二次单击 B 时暂时禁用 A 的悬停功能。
我正在寻找一种不需要重写B内部A的洞函数的方法。非常简单的事情就像“存储和禁用事件,调用存储的函数”
我发现了一些技术,例如 .data('events') 和 console.log。我很累但是失败了,或者我写错了。
请大家帮忙指点一下!
$(A).hover();
$(b).click(
if($.hasData($(A)[0])){ // if A has event,
//STORE all the event A has, and disable
}else{
//ENABLE the stored event for A
}
);
最佳答案
试试这个
var hoverme = function() {
alert('Hover Event Fired');
};
$('.A').hover(hoverme);
var i = 0;
$('.B').on('click', function(){
if(i%2 === 0){
// Unbind event
$('.A').off('hover');
}
else{
// Else bind the event
$('.A').hover(hoverme);
}
i++;
});
<强> Check Fiddle
关于javascript - 如何临时存储和禁用另一个元素的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14096504/