Jquery Colorbox在包含在引导模式中时冻结IE



在IE上,我有一个包含在Bootstrap模式中的Colorbox弹出窗口。每当我打开弹出窗口时,它就会打开,但IE会冻结,我必须停止这个过程才能关闭它。它只是完全死了。

我真的不知道它为什么会这样做,因为这些例子在IE上很好用,只有我的才坏。

这是我的颜色框中包含的div。它包含在引导模式中。

<div class='thumbnails-controls'>
 <a colorbox ng-href='{{baseAssetUrl+userID}}/{{asset.asset_uuid}}' class="preview search-thumbnail" title="{{asset.asset_name}}"><i class="icon-search"></i></a>
 <a ng-click="deleteAsset(asset.asset_id)" href="#" title="delete" class="delete-thumbnail"><i class="icon-trash"></i></a>
</div>

我也在使用AngularJS,我不认为这会引起问题,是吗?我想可能是CSS,所以我把它注释掉了,但它仍然冻结了IE。就像硬编码图像URL一样,它仍然冻结。我还尝试在iFrame中加载图像,但它仍然冻结。我也只是想尝试一下,把ng-href改成了just-href,但它仍然冻结了。

它只在IE中执行此操作。其他所有浏览器都可以正常工作。我不明白为什么这不起作用。

似乎是Bootstrap模态和Colorbox模态之间的焦点冲突。无论出于什么原因IE对它很挑剔,其他浏览器都能更顺利地解决冲突。

通过谷歌和几个小时的大约10亿个不同的搜索词组合,我发现了这个问题,大约是2个引导模式,但它解决了我的问题。

对我来说,这个问题的答案是添加

$.fn.modal.Constructor.prototype.enforceFocus = function () {};

在我所有的Javascript导入加载之后。经过Chrome、Firefox和IE的测试,它似乎运行得很好。

这个答案似乎是一个更好的解决方案,然而,我无法让它正常工作,只是覆盖默认行为对我有效。

最新更新