gpt4 book ai didi

twitter-bootstrap - 带有选择器和 data-* 属性的 Twitter 的 Bootstrap 弹出框

转载 作者:行者123 更新时间:2023-12-02 01:59:22 24 4
gpt4 key购买 nike

使用

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

忽略目标元素中指定的任何 data-* 属性。
例如

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

popover 将跳过 data-html 属性。

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

问题是:在委托(delegate)附件 ({ selector: '.selector' }) 的情况下, Bootstrap 如何考虑 data-* 属性?

UPD
这是 confirmed as bugfixed . 3.0.0版本不会有这个bug。

最佳答案

未使用数据元素是因为它们是在初始化时设置的,而不是在显示元素时设置的。这不适用于选择器,它只对初始化器中的所有设置使用相同的选项。我不知道这是一个错误。 (更新 是的,它是固定的: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 的 Bootstrap 2.x 和 Twitter 的 Bootstrap 3(RC1)

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

请注意,当使用上述 CDN 时,您将在关闭弹出窗口时遇到 JS 错误(TypeError:this.remove 不是函数)请参阅:https://github.com/twbs/bootstrap/issues/8887

关于twitter-bootstrap - 带有选择器和 data-* 属性的 Twitter 的 Bootstrap 弹出框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18011929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com