问题描述
|
如果用户单击了某个目标,则不应执行任何操作,但应再次将click事件绑定为“一个”,这是一种探索性的方式...这样做的效果如何。
$(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);
如果没有点击“ 2”,它将重新绑定click事件。
,如果没有发生条件,则与其重新绑定该事件,不如解除绑定该事件,则最好:
var handler = function(ev){
if(!$(ev.target) == $(\'.gallerystatus input\')){
$(\'.gallerystatus input\').trigger(\'focusout\');
$(document).unbind(\'click\',handler);
}
};
$(document).bind(\'click\',handler);