为什么动态引导弹出不起作用?

时间:2013-09-10 03:12:53

标签: javascript jquery twitter-bootstrap dynamic popover

    $('body').popover({html: true, placement: 'left', trigger: 'hover', selector: "[rel='popover']"}); 

http://jsfiddle.net/zxEXz/

我只是为动态弹出窗口插入'selector'选项 但是,另一个选项('html','placement')不起作用。

它只是使用错误或bootstrap错误?

THX!

1 个答案:

答案 0 :(得分:0)

它看起来像是引导程序中的错误

内部引导程序在tooltip.js中的方法enter中使用以下代码

this._options && $.each(this._options, function (key, value) {
    if (defaults[key] != value) options[key] = value
}, this)

我们将3个参数传递给每个方法,即对象,回调和this

如果您查看each()方法的jQuery代码,它会说args参数仅供内部使用,并且没有记录。

// args is for internal usage only
each: function( obj, callback, args ) {

如果您从每次通话中移除this,它可能会有效...... :(

演示:Fiddle

这很可能是一个小错误,因为Array.forEach()接受第二个参数,它将用作回调方法的执行上下文...在jQuery中它应该使用$.proxy()完成像

this._options && $.each(this._options, $.proxy(function (key, value) {
    if (defaults[key] != value) options[key] = value
}, this))

master branch中,此错误似乎已得到修复

this._options && $.each(this._options, function (key, value) {
  if (defaults[key] != value) options[key] = value
})