无法通过单击重新打开下拉列表

我有一个由angularjsbootstrap制作的网页,但不是ui-bootstrap

有一个drop-down list和一个iframe 。 问题是当下拉列表打开时,单击iframe不会自动关闭下拉列表。

我按照这个答案添加了以下内容:

 $(window).on('blur',function() { $('.dropdown-toggle').parent().removeClass('open'); } ); 

现在,单击iframe会关闭下拉列表。 但是,在关闭之后,单击下拉按钮将不会重新打开列表; 我们必须单击iframe以外的其他位置或单击下拉按钮一次,然后再次单击下拉按钮打开列表。

很抱歉,我无法在游乐场重现问题,但似乎是“只有第二次点击才能打开下拉列表”这一常见问题。 我试图删除data-toggle="dropdown" ,但它没有帮助。

有谁知道我可以尝试解决这个问题?

你可以试试更多的“bootstrap”解决方案

 $(window).on('blur',function() { if($('.dropdown-toggle').parent().hasClass('open')){ $(".dropdown-toggle").dropdown("toggle"); } }); 

这将关闭元素,如果打开,让下拉列表关闭,以便下一次点击触发打开。

我终于明白了……

之前,我使用了以下内容,并没有使用bootstrap.js

 . 

为了避免这个问题中提到的问题,我需要使用:

   

请注意,绝对需要bootstrap.js ,对于ui-bootstrap-tpls.js 0.11.0是不够的。

(*顺便说一下,我之前有过一个错误(遗憾的是我记得不清楚),这是因为版本不够高ui-bootstrap-tpls.js 。真的需要记住ui-bootstrap-tpls.js当遇到棘手的js bug时, ui-bootstrap-tpls.js可能是问题。*)