![](/img/trans.png)
[英]Why does my Javascript/jQuery work in Chrome and Safari but not firefox, IE9, or Opera?
[英]JS code makes IE9 and Safari freezing and does not work in Opera?
我不知道为什么,但这段代码使IE9和Safari崩溃,并且在Opera中根本不起作用。
$('#contentPage').on('DOMSubtreeModified', function(){
if($(".iframey[date-current]").length){
$(".iframey:not(.hidden)").prevUntil("iframe").addClass('smaller');
}});
如何使此代码适用于所有浏览器?
- -编辑 - -
jsfiddle中的代码
在chrome和firefox工作炉排
您正在修改dom修改的事件处理程序中的dom,您应该检查修改是否是由处理程序中的代码引起的,以防止无限循环。
也
警告! DOMSubtreeModified事件类型在本规范中定义,以供参考和完整,但此规范不建议使用此事件类型。
http://www.w3.org/TR/DOM-Level-3-Events/#event-type-DOMSubtreeModified
@Musa说的是正确的。 有一个无限循环。 你有什么理由需要在DOMSubtreeModified
处理它吗? 你不能只是在点击事件中完成工作吗? 这似乎表现得一样:
$(".onePost").live("click", function() {
$(".onePost").removeClass('smaller');
$("iframe")
.addClass('hidden')
.removeAttr('src')
.removeAttr('date-current');
$(this).nextAll("iframe:eq(0)")
.removeClass('hidden')
.removeAttr('style')
.attr({src: $(this).data('href')})
.attr('date-current', 'here');
if($(".iframey[date-current]").length){
$(".iframey:not(.hidden)").prevUntil(".iframey").addClass('smaller');
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.