关于javascript:Jquery – 检测输入外的点击

Jquery - detect the click outside of input

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
<input id="ok" />

$('.hor-minimalist-a').on('blur','#ok',function(){

});

使用上面的代码,我可以处理离开输入字段时触发的事件。

如何检测是否有人在输入字段外单击而不进入输入。我的意思是用户以前从未访问过这个输入字段,所以根本没有焦点。

1
2
3
$('.hor-minimalist-a').on('?','#ok',function(){
  ?
});

1
2
3
4
5
$(document).on('click', function(e) {
    if ( e.target.id != 'ok' ) {
        // you clicked something else
    }
});

这将捕获除输入外的任何单击,但为什么您需要它?

要只捕获单击.hor-minimalist-a而不是整个文档,只需用上面代码中的选择器替换document


有一个jquery插件:http://benalman.com/code/projects/jquery-outside-events/examples/clickoutside/


怎么样:

1
$('.hor-minimalist-a').on('click',':not(#ok)',function(){

这将在.hor-minimalist-a内注册click事件,但在input #ok外注册click事件。