使用选择器选项销毁引导弹出框
Destroy Bootstrap Popover with selector option
如何销毁使用选择器选项创建的引导弹出窗口?
例如$e.popover({
selector: 'mark',
trigger: 'hover',
container: "body",
});
如果随后调用$e.popover('destroy')
则会出现错误。
我注意到popover('destroy')
调用的Plugin
函数如下:
function Plugin(option) {
return this.each(function () {
var $this = $(this)
var data = $this.data('bs.popover')
var options = typeof option == 'object' && option
var selector = options && options.selector
if (!data && option == 'destroy') return
if (selector) {
if (!data) $this.data('bs.popover', (data = {}))
if (!data[selector]) data[selector] = new Popover(this, options)
} else {
if (!data) $this.data('bs.popover',(data = new Popover(this, options)))
}
if (typeof option == 'string') data[option]() /// <<-- THIS ALWAYS FAILS
})
}
如果你调用$e.popover('destroy')
上面的行(清楚地标记)总是失败,因为它正在调用data['destroy']
,但是数据将是一个像{mark: Popover}
这样的对象。
它显然应该打电话给data['mark']['destroy']
但我并不清楚这应该如何发生。
一种选择是创建一个字符串s = 'destroy'
然后将 selector
属性添加到字符串中,但很明显这不是预期的设计。
或者,可以调用$e.data('bs.popover').mark.destroy()
,但我再次不确定这是预期的设计,并且它没有记录在我能找到的任何地方。
这是一个示例 jsFiddle
正如 Matt 评论的那样,这是 3.3.1 中的引导错误。
相关文章:
- 在日期更改后更新Angular UI引导程序日期选择器选项
- 使用PHP通过HTML表单选项选择器过滤MYSQL结果
- jQuery:下拉;选项:第一个孩子“;作为选择器
- 在HTML5、CSS、JavaScript中添加选项选择器,类似于移动应用程序中的选项设置
- 输入:选中,选项:选择选择器
- 选项“;daysOfWeekDisabled”;在引导程序日期时间选择器中不起作用
- 工具提示器悬停选择和选项在IE中不起作用
- 在给定现有答案的情况下,更改日期选择器中的 minDate 选项不起作用
- 如何在选择器中加载所有选项而不选择
- 为什么日期选择器使用 Jquery 日期选择器仅显示 20 年的选项
- 使用选择器选项销毁引导弹出框
- 在 elgg 中,jQuery 日期选择器选项不起作用
- 如何动态设置日期时间选择器选项
- 引导程序时间选择器未显示时间选择器选项
- 如果未选择任何选择器选项,则禁用“提交”按钮
- 对于2个日期,我需要根据第一个日期选择来阻止第二个日期的日期选择器选项
- 引导程序日期选择器的日期选择器选项被忽略
- 为什么我选择的所有选择器选项没有被删除?
- 在angular ui引导程序中设置日期选择器选项
- 添加jquery日期选择器选项后,HTML输入值将消失