Twitter Bootstrap弹出框在打开新弹出框时会关闭。

5
我不是JavaScript专家,所以我肯定错过了一些显而易见的东西。我有一个表格,其中有多个链接使用Twitter Bootstrap的弹出行为。我已经设置好了点击链接打开弹出窗口,并且点击其他链接会关闭第一个链接,但是在几次尝试后它变得有点故障,并且甚至开始自动关闭。所以问题是:如何正确地使弹出窗口在打开另一个弹出窗口时关闭?

我在这里设置了一个JSFiddle(虽然似乎根本不起作用):http://jsfiddle.net/ZnJ6b/

HTML:

<table>
    <thead>
        <th>Description</th>
        <th>Button</th>
    </thead>
    <tbody>
        <tr>
            <td>Item #1</td>
            <td><a href="#" class="btn show-text" data-toggle="popover" data-placement="right" data-content="Content for item one." title="" data-original-title="Review text">Click for text</a>

            </td>
        </tr>
        <tr>
            <td>Item #2</td>
            <td><a href="#" class="btn show-text" data-toggle="popover" data-placement="right" data-content="Content for item two." title="" data-original-title="Review text">Click for text</a>

            </td>
        </tr>
    </tbody>
</table>

JavaScript:

$(this).popover('show');
$('.show-text').click(function () {
    $('.show-text').popover('hide');
});

非常感谢您对一个JS新手的帮助!

1个回答

16

试试这个:

$('.show-text').popover();
$('.show-text').click(function () {
     $('.show-text').not(this).popover('hide');
});

嗯。我早先尝试过这个,刚刚又试了一次。实际上,这似乎使它根本无法打开。没有JS错误消息,只是不会打开弹出框。 - JamieHoward
这实际上只会不断打开弹出窗口,但不会关闭其他任何窗口。 - JamieHoward
好险,这对我来说真的有效:$('.show-text').popover(); $('.show-text').click(function(){ $('.show-text').not(this).popover('hide'); }); - JamieHoward

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接