繁体   English   中英

放映后,Twitter Bootstrap Popover隐藏起来

[英]Twitter Bootstrap Popover hides immediately after show

我正在尝试使用Bootstrap弹出窗口进行错误显示。 仅在首先单击按钮后,该代码才能正常工作。 在下次单击期间,将显示弹出窗口,但会立即消失。

添加了简单的帮助程序以重用popover:

var popoverHelper = function (selector) {
    var $element = $(selector);
    $element.popover({
        placement: "bottom",
        trigger: 'manual'
    });
    return {
        showPopover: function (text) {
            $element.attr('data-content', text);
            $element.popover('show');
        },
        hidePopover: function () {
            $element.popover('hide');
        },
        destroyPopover: function () {
            $element.popover('destroy');
        }
    };
};

使用助手:

var pHelper = popoverHelper('#postInput');

$('#postButton').click(function (e) {
    e.preventDefault();
    // hide open popover if open
    pHelper.hidePopover();
    ...
    // some functionality
    ...
    // show popover if some errors  
    pHelper.showPopover('error occurs!!');
});

使用的jQuery-2.1.1,Twitter引导程序-3.1.1。

完整示例在jsfiddle上

小提示:如果我将popover销毁,并且在播放时重新进行popover初始化,则一切正常。 但我认为这不是最佳选择。

Jsfiddle示例。

检查这个演示小提琴

更好的解决方案是在错误字段上隐藏用户操作上的弹出窗口。

$('input').focus(function(){
     pHelper.hidePopover();
});

暂无
暂无

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

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