如何在jquery中捕获任何click事件

Mol*_*llo 3 javascript jquery

我有一个按钮,当它被点击时,显示一个div与图像(如聊天的表情符号面板),如果我再次点击它div隐藏,但我想要做的是:如果div已经出现然后我点击页面的任何其他东西,我想隐藏它.我试过这个:

$("myBtn").click(function(){
    // show div
});

$(document).click(function(){
// hide div
});
Run Code Online (Sandbox Code Playgroud)

单击"myBtn"时,div会自动显示并隐藏.我该怎么办呢?

感谢您的时间.

Kyl*_*yle 14

您可以尝试以下方法:

$(document).on('click', function(evt) {
    if(!$(evt.target).is('#my-id')) {
        //Hide
    }
});
Run Code Online (Sandbox Code Playgroud)

UPDATE

这样你就可以拥有一套完整的工作集:

$('#mybutton').on('click', function(evt) {
    $('#mydiv').show();
    return false;//Returning false prevents the event from continuing up the chain
});
Run Code Online (Sandbox Code Playgroud)

  • @CharlieKilian`Click`一直是`bind("click")`的糖; 它避免了所有这些,并包含了`.on(event,childSelector,callback)`的新的简单委托语法 (3认同)