jquery 关闭点击?

发布于 2024-11-25 12:18:40 字数 122 浏览 0 评论 0原文

当我通过 jquery 的“点击”点击“链接”时,我有一个“li”弹出。

有谁知道一种干净的方法可以按照“offclick”的方式做一些事情?比如,当我单击元素时,它会隐藏弹出窗口吗?

谢谢! 马特

I have a 'li' that pops down when I click on a 'link' via jquery's 'click'.

Does anyone know of a clean way to do something along the lines of 'offclick'? As in, when I click off of the element, it would hide the pop down?

Thanks!
Matt

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

怪我入戏太深 2024-12-02 12:18:40

您可能希望为窗口分配一个点击侦听器,并将点击侦听器分配给您的链接。在链接单击侦听器内,您需要停止事件传播,以便它不会沿 DOM 树向上传播并触发窗口的单击侦听器。

像这样的事情应该可以解决问题:

$(window).click(function(){
  $('li#my_li').slideUp();
});

$('a#my_link').click(function(event){
    try
    {
        event.stopPropagation();
    }
    catch(err)
    {
        // IE does it this way
        window.event.cancelBubble=true;
    }
  $('li#my_li').slideDown();
});

You would want to assign a click listener to the window and also assign the click listener to your link. Inside the link click listener, you'll want to stop the event propagation so it doesn't travel up the DOM tree and fire your window's click listener.

Something like this should do the trick:

$(window).click(function(){
  $('li#my_li').slideUp();
});

$('a#my_link').click(function(event){
    try
    {
        event.stopPropagation();
    }
    catch(err)
    {
        // IE does it this way
        window.event.cancelBubble=true;
    }
  $('li#my_li').slideDown();
});
酒绊 2024-12-02 12:18:40

我想你可以看看模糊,当元素失去焦点时调用它:
参考: http://api.jquery.com/blur/

I guess you could look at blur, which is called when the element looses focus:
ref: http://api.jquery.com/blur/

初与友歌 2024-12-02 12:18:40

您可以使用 blurfocusout 根据您的需要

You can use blur or focusout depending on your needs

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文