在jQuery或Javascript中切换事件捕获?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在jQuery或Javascript中切换事件捕获?相关的知识,希望对你有一定的参考价值。
我的页面上有元素(id=itemid
),当盘旋时会导致另一个元素(id=panel
)变得可见(通过fadeIn)。基本上itemid
上的悬停事件导致面板fadeIn
和mouseOut
导致fadeOut
。
我想制作一个按钮,以便在单击时面板元素不会出现fadeIn
或者保持可见状态。单击该按钮时,mouseIn
和mouseOut
事件应该再次起作用。
有任何想法吗?
谢谢!
$(document).ready(function(){
$('.itemid').hover(
function () {
$('.panel').fadeIn(300);
},
function () {
$('.panel').fadeOut(200);
}
);
});
答案
设置是否进行淡化的标志:
$(document).ready(function(){
var fadeEnabled = true;
$('.itemid').hover(
function () {
if (fadeEnabled) {
$('.panel').fadeIn(300);
}
},
function () {
if (fadeEnabled) {
$('.panel').fadeOut(200);
}
}
);
$("#myButton").click(function() {
fadeEnabled = !fadeEnabled;
});
});
然后,只需用您的按钮切换该标志,它将启用或禁用淡入淡出行为。
另一答案
单击该按钮,在对象/项目上使用$(selector).unbind('mousein')取消注册事件,并在另一次单击按钮时重新注册。每次点击按钮都要保持切换。
以上是关于在jQuery或Javascript中切换事件捕获?的主要内容,如果未能解决你的问题,请参考以下文章
使用 jquery 在 iframe 中捕获鼠标右键单击事件