我正在使用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>
我错过了什么?
答案 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/