javascript - Bootstrap Popover 和 JQuery 在 'show' 之后不为 'hide'

标签 javascript jquery twitter-bootstrap

我遇到了弹出窗口在点击事件后不再显示的问题。

我正在使用 AngularJS 观看一些动态内容,并且我想在内容更改时重新加载弹出窗口。弹出窗口中有一个链接到更改我的内容的功能的按钮。单击按钮时我想重新加载弹出窗口。 “隐藏”功能有效,但随后它会闪烁并且不会“显示”弹出窗口,直到我再次单击输入。当我点击它时,内容就会更新。但我希望它在用户不点击的情况下“显示”。

我的代码如下;

输入字段;

<input id='test' ng-model="form.location" type="text" class="form-control">

弹出窗口内容

<div id="geo" class="popover-body hidden" ng-controller="geoCtrl">
    <div ng-controller="updateGeo">
        <button ng-show="update[0]" id="findme" style="margin: -10px" class="btn btn-success btn-sm" ng-click="getGeo()"><span class="purp"><i class="fa fa-street-view"></i> FIND ME!</span></button>
        <button ng-hide="update[0]" id="findme" style="margin: -10px" class="btn btn-simple btn-sm" ng-click="getGeo()"><span class="purp"><i class="fa fa-street-view"></i> FIND ME!</span></button>
    </div>
</div>

ng-hide/ng-show 控制要显示的按钮。

Jquery;

<script type="text/javascript">

var content = $('[id*="geo"]');

$(document).on('click', '#test', function() {

    $('#test').popover('show')

})

$('#test').popover({
    html: true,
    trigger: 'manual',
    container: 'body',
    placement: 'top',
    content: function () {
        return content.html();
    },
});

$(document).on('click', '#findme', function()
{
    angular.element('#geo').scope().getGeo();
    angular.element('#geo').scope().$apply();

    $('#test').popover('hide');
    $('#test').popover('show')

});

一切正常,您单击输入,它会显示带有正确按钮的弹出窗口。单击该按钮,弹出窗口会隐藏,但直到您重新单击输入后才会再次显示。当它确实显示时,就会显示正确的内容。

如何让它自行显示而无需再次点击输入?

最佳答案

我不确定,但是如果你尝试把 $('#test').popover('show'); 在弹出窗口隐藏在 setTimeout(function(){ 像这样

$('#test').popover('hide');
setTimeout(function(){
$('#test').popover('show');
},100);

关于javascript - Bootstrap Popover 和 JQuery 在 'show' 之后不为 'hide',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48331460/

相关文章:

javascript - 滚动时检测第一个顶部元素

css - Navbar 的居中组件

javascript - 选择的选项不可见

javascript - 创建自定义 CSS 文本框

javascript - 对齐元素以具有相同的高度

javascript - sails 客户端(浏览器)如何监听从不同端口发出(爆破)的套接字消息?

jQuery/Ajax : how to refer to dynamically added elements

javascript - jquery 在另一个表之前选择表中的一个元素

css - 如何更改 Bootstrap 弹出框箭头的颜色?

javascript - 如何在使用 ng-repeat 时验证 AngularJs 中的表单