简体   繁体   English

在IE8中单击关闭按钮不起作用时,关闭弹出窗口

[英]close popover when click on close button is not working in ie8

This issue is only present in IE8, IE7 - It works in all other browsers 仅在IE8,IE7中存在此问题-在所有其他浏览器中均有效

Even after debugging i found that though the alert is coming first time inside the click event of button but not on second flow. 即使在调试之后,我仍然发现警报是第一次在按钮的click事件内发出的,而不是第二次发生。

Please guide?? 请指导?

 $.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">&times;</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();

});

Are you using jQuery 1.9 or 2+? 您使用的是jQuery 1.9还是2+? The latter does not work with IE8 or below. 后者不适用于IE8或更低版本。

did you try to change this line : 您是否尝试更改此行:

$('html').on('click', '[data-dismiss="popover"]', function (e) {
$popover_togglers.popover('hide');
e.preventdefault();
});

with that : 接着就,随即 :

$('html').on('click', '[data-dismiss="popover"]', function (e) {
$popover_togglers.data('bs.popover').tip().removeClass("in").hide();
});

您可以使用“ toggle”而不是“ hide”,因为在我的Web应用程序上,.popover('toggle')在IE8上有效。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM