【问题标题】:Click listener on Twitter Bootstrap .popover class is not firing Event.StopPropagationTwitter Bootstrap .popover 类上的单击侦听器未触发 Event.StopPropagation
【发布时间】:2013-08-15 21:41:52
【问题描述】:

我在一类 Twitter Bootstrap 弹出框上使用以下代码,以确保一次只能打开一个弹出框,并在弹出框外部单击将其关闭。在弹出框内点击不应关闭弹出框,确保弹出框内的任何表单元素都可以有效使用。

我的解决方案基于 StackOverflow 问题How do I detect a click outside an element? 的这个公认答案

它几乎可以完美运行,只是在弹出框内单击仍会关闭弹出框。 StopPropagation 不会从 .popover 类的点击侦听器中触发。

检查弹出框会发现它们确实有 .popover 类,那么为什么听者没有收到点击?

HTML:

<a href="#" class="linkPopover">Popover One</a>
<a href="#" class="linkPopover">Popover Two</a>

脚本:

$(document).click(function() {
    $('.linkPopover').popover('hide');
});

$('.popover').click(function(e) {
    e.stopPropagation(); // code inside this listener is not being fired
});

$('.linkPopover').click(function() {
    $('.linkPopover').not(this).popover('hide');
});

$('.linkPopover')
    .popover({
        content: 'test'
    })
    .click(function(e) {
        e.stopPropagation();
    });

感谢您的帮助。

【问题讨论】:

    标签: jquery twitter-bootstrap


    【解决方案1】:

    我发现这很有帮助。

    Attach event handler to button in twitter bootstrap popover

    这似乎很老套,我正在尝试寻找一种解决方法,但它现在已经足够好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-14
      • 1970-01-01
      • 2019-11-24
      • 1970-01-01
      • 2022-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多