如果用户点击了某个目标,那么就不应该做任何事情了,但是点击事件应该再次绑定“一个” - 有点复发......这是如何做得很好的。
$(document).one('click',function(ev){
if(!$(ev.target) == $('.gallerystatus input')){
$('.gallerystatus input').trigger('focusout');
}
});
感谢您的任何建议!
答案 0 :(得分:2)
我认为这就是你所要求的:
var clickGalleryStatus = function(ev){
if(!$(ev.target) == $('.gallerystatus input')){
$('.gallerystatus input').trigger('focusout');
} else {
$(document).one('click', clickGalleryStatus);
}
};
$(document).one('click', clickGalleryStatus);
如果.gallerystatus input
未被点击,则会重新点击点击事件。
答案 1 :(得分:1)
如果条件没有发生,而不是重新绑定事件,最好解除事件的绑定:
var handler = function(ev){
if(!$(ev.target) == $('.gallerystatus input')){
$('.gallerystatus input').trigger('focusout');
$(document).unbind('click', handler);
}
};
$(document).bind('click', handler);