2012-04-03 69 views
0

任何人都可以告诉我这段代码有什么问题吗?它只是崩溃我的浏览器,这一切......“.resize”事件不能与“偏移”一起工作

$(window).resize(function() { 
    var p = $("#outer_wrap"); 
    var offset = p.offset(); 
    alert("left: " + offset.left + ", top: " + offset.top); 
}); 

回答

2

尽量不要使用alert功能,但console.log代替(确保控制台窗口是打开的),这对我的作品。这可能是由于跨浏览器的resize事件的处理引起的(某些浏览器连续发送的事件作为窗口大小调整

jQuery

代码在resize处理函数不应该依赖于数量处理程序被调用的次数根据实现的不同,调整大小事件可以在调整大小的过程中持续发送(Internet Explorer和基于WebKit的浏览器(如Safari和Chrome)中的典型行为),或者仅在调整大小操作(在Opera等其他浏览器中的典型行为)

0

代码看起来很好,我想象它会引起你的问题,因为它会发射这些事件很多。

下面是一个没有提示但以不同方式输出结果的示例,它不应该崩溃。

http://jsfiddle.net/TZfeK/

您还可以看到多少次事件被解雇。