2013-08-02 83 views
3

使用Twitter的引導酥料餅與選擇和數據屬性*

$(document).popover({ 
    selector: '.selector' 
}); 

忽略目標元素指定的任何data-*屬性。
例如

<a class="selector" title="bla" data-content="some html" data-html="true">link</a> 

酥料餅將跳過data-html屬性。

證明:http://jsfiddle.net/YsEqb/

的問題是:如何使引導考慮到委託附件的情況下data-*屬性({選擇: '.selector'})?

UPD
這是confirmed as bugfixed。版本3.0.0不會有這個錯誤。

回答

3

未使用數據元素,因爲它們是在初始化時設置的,而不是在顯示元素時設置的。這對選擇器不起作用,它只對您的初始化器中的所有設置使用相同的選項。我不知道這是一個錯誤。 (更新是的,它是,它是固定的:https://github.com/twbs/bootstrap/issues/9222

快速修復延長您的播放功能,並(重新)設置的選項有:

<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0-rc1/js/bootstrap.min.js"></script> 
<script>  

var tmp = $.fn.popover.Constructor.prototype.show 
$.fn.popover.Constructor.prototype.show = function() { 
    var $e = this.$element 
    if (typeof($e.attr('data-html')) != 'undefined')this.options.html = ($e.attr('data-html')==='true') 
    if (typeof($e.attr('data-placement')) != 'undefined')this.options.placement = $e.attr('data-placement'); 
    /* add other options here */ 
    tmp.call(this); 
} 

這將爲Twitter的引導2.X工作, Twitter的引導3(RC1)

另見:http://jsfiddle.net/bassjobsen/YsEqb/1/

注意使用CDN在如上述,你會得到關於關閉酥料餅(類型錯誤一個JS錯誤:this.remove不一個函數)參見:https://github.com/twbs/bootstrap/issues/8887

-2

而不是使用

$(document).popover({ 
    selector: '.selector' 
}); 

如果要使用選擇那麼這是代碼:

$('body').popover({ 
     selector: '.selector' 
    }); 

$('.selector').popover(); 
+0

(1)錯誤的答案(檢查http://jsfiddle.net/SBcyd/)(2)回答錯誤的問題 – disfated

1

當指定選擇要重設數據 - html值恢復爲默認值false

如此明確地指出:

$(document).popover({ 
    selector: '[data-toggle="popover"]', 
    html:true 
}); 

將數據HTML的值設置爲true在這種情況下。 JS fiddle

+0

我需要確切的問題:我需要切換選項**具有屬性** – disfated