此问题仅出现在IE8,IE7中 - 它适用于所有其他浏览器
即使在调试后我发现虽然警报是第一次出现在按钮的点击事件内但不是第二次出现。
请指导??
$.fn.extend({
popoverClosable: function (options) {
var defaults = {
template:
'<div class="popover">\
<div class="arrow"></div>\
<div class="popover-header">\
<button type="button" class="close popclose" data-dismiss="popover" aria-hidden="true">×</button>\
<h3 class="popover-title"></h3>\
</div>\
<div class="popover-content"></div>\
</div>'
};
options = $.extend({}, defaults, options);
var $popover_togglers = this;
$popover_togglers.popover(options);
$popover_togglers.on('click', function (e) {
e.preventDefault();
$popover_togglers.not(this).popover('hide');
});
$('html').on('click', '[data-dismiss="popover"]', function (e) {
$popover_togglers.popover('hide');
e.preventdefault();
});
}
});
$(function () {
$('[data-toggle="popover"]').popoverClosable();
});
答案 0 :(得分:0)
您使用的是jQuery 1.9还是2+?后者不适用于IE8或更低版本。
答案 1 :(得分:0)
你是否试图改变这一行:
$('html').on('click', '[data-dismiss="popover"]', function (e) {
$popover_togglers.popover('hide');
e.preventdefault();
});
与此:
$('html').on('click', '[data-dismiss="popover"]', function (e) {
$popover_togglers.data('bs.popover').tip().removeClass("in").hide();
});
答案 2 :(得分:0)
您可以使用“切换”而不是“隐藏”,因为在我的网络应用上.popover('toggle')适用于IE8。