Javascript 简单的专业问题:再次将函数绑定到事件-从函数。。。一种补偿
如果用户点击了某个目标,那么什么也不应该做,但是点击事件应该再次绑定为“一”—这是一种补偿。。。这是如何很好地完成的Javascript 简单的专业问题:再次将函数绑定到事件-从函数。。。一种补偿,javascript,jquery,Javascript,Jquery,如果用户点击了某个目标,那么什么也不应该做,但是点击事件应该再次绑定为“一”—这是一种补偿。。。这是如何很好地完成的 $(document).one('click',function(ev){ if(!$(ev.target) == $('.gallerystatus input')){ $('.gallerystatus input').trigger('focusout'); }
$(document).one('click',function(ev){
if(!$(ev.target) == $('.gallerystatus input')){
$('.gallerystatus input').trigger('focusout');
}
});
谢谢你的建议 我想这就是你想要的:
var clickGalleryStatus = function(ev){
if(!$(ev.target) == $('.gallerystatus input')){
$('.gallerystatus input').trigger('focusout');
} else {
$(document).one('click', clickGalleryStatus);
}
};
$(document).one('click', clickGalleryStatus);
如果
.gallerystatus输入
不是单击的内容,则它将重新绑定单击事件。我认为这就是您所要求的:
var clickGalleryStatus = function(ev){
if(!$(ev.target) == $('.gallerystatus input')){
$('.gallerystatus input').trigger('focusout');
} else {
$(document).one('click', clickGalleryStatus);
}
};
$(document).one('click', clickGalleryStatus);
如果
.gallerystatus输入
不是单击的内容,则它将重新绑定单击事件。如果条件未发生,则最好取消绑定事件,如果条件发生:
var handler = function(ev){
if(!$(ev.target) == $('.gallerystatus input')){
$('.gallerystatus input').trigger('focusout');
$(document).unbind('click', handler);
}
};
$(document).bind('click', handler);
如果某个条件未发生,则与其重新绑定该事件,不如在该条件发生时解除绑定该事件:
var handler = function(ev){
if(!$(ev.target) == $('.gallerystatus input')){
$('.gallerystatus input').trigger('focusout');
$(document).unbind('click', handler);
}
};
$(document).bind('click', handler);