2014-10-28 163 views
0

在IE上,我在Bootstrap模式中包含了一个Colorbox弹出窗口。每当我打开弹出窗口,它会打开,但随后IE会冻结,我必须停止该进程才能关闭它。它只是完全死了。Jquery Colorbox在包含在引导模式中时冻结IE浏览器

我不太确定它为什么这样做,因为这些示例在IE上运行良好,它只是我的破解。

下面是包含我的colorbox的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浏览器。与编码图片网址的硬编码一样,它仍然冻结。我也尝试在iFrame中加载图像,它仍然冻结。我也尝试过,把ng-href改成了href,但它仍然冻结。

它只在IE中这样做。其他浏览器都能正常工作。我不知道为什么这不起作用。

+0

我刚刚注释掉Bootstrap的导入,它不再冻结。然而,这个项目需要Bootstrap,那么他们会有冲突的原因吗? – 2014-10-28 15:34:21

+0

colorbox和bootstrap javascript可能会以某种方式干扰对方,或者可能触发Angular中意想不到的事情。我会尝试评论附加到colorbox或bootstrap事件的任何侦听器或回调。此外,项目所需的模式是否可以分开?进一步的帮助将需要在jsfiddle或codepen中查看JavaScript。 – cjspurgeon 2014-10-28 16:53:47

+0

基本上,客户点击一个按钮并打开他们资产的画廊。每个资产缩略图都有一个预览按钮,单击它可打开colorbox模式以显示完整大小的预览。 此功能已经完成,这只是一项维护任务,所以我不想重做预览系统以使用其他库。 – 2014-10-28 17:01:32

回答

1

看起来这是Bootstrap模式和Colorbox模式之间的重点冲突。无论出于何种原因,IE都在挑剔它,其他浏览器更顺利地解决了冲突。

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

对我来说,从这个问题的工作答案添加

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

加载的所有我的JavaScript导入后。经过Chrome,Firefox和IE测试,它似乎工作得很好。

This answer,似乎是一个更好的解决方法,但是,我无法让它正常工作,只是覆盖默认行为为我工作。

相关问题