使用.not()和bootstrap popover

时间:2016-12-15 15:34:27

标签: twitter-bootstrap

我正在使用bootstrap popovers

$('[data-toggle=popover]').popover();

如果元素具有某些数据属性,我需要修改此代码以防止启动弹出窗口。

$('[data-toggle=popover]').not('[data-nopopover=1]').popover();

由于某种原因,即使存在data属性,仍会触发popover。

HTML

<span data-container="body" data-toggle="popover" data-placement="right" data-html="true" data-content="popover content" aria-hidden="true" data-original-title="" title=""></span>

我错过了什么?

1 个答案:

答案 0 :(得分:1)

如果将popover绑定到具有data-toggle=popover的所有元素,则需要销毁不应显示弹出框的元素的弹出窗口。调用$('[data-toggle=popover]').not('[data-nopopover=1]').popover();只会尝试再次初始化不具有data-nopopover属性的元素的弹出窗口。具有data-nopopover的元素仍将附加弹出窗口。 你应该致电$('[data-nopopover=1]').popover('destroy');

如果只对元素绑定一次,则取决于您设置data-nopopover的方式。它需要设置如下:$('your-selector').attr('data-nopopover', "1"); $('[data-toggle=popover]').not('[data-nopopover=1]').popover();

我创建了一个小提琴,您可以在其中玩耍:https://jsfiddle.net/vo1npqdx/72/