2016-12-15 65 views
0

我使用的引导popovers使用。不是()与引导酥料饼

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

我需要修改这个代码,以防止启动酥料饼,如果该元素具有一定的数据属性。

$('[data-toggle=popover]').not('[data-nopopover=1]').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> 

我缺少什么?

+0

会发生什么,如果你只是做'。不是(“[数据nopopover]”)'?没有“= 1”。 –

+0

它仍然是它...我不知道是否是因为我动态添加数据属性。也许我需要以某种方式合并.on()。 – santa

+0

你能发表你正在使用的HTML代码吗? –

回答

1

如果您绑定的酥料饼具有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/