IE之动态添加DOM节点触发window.resize事件

IE之动态添加DOM节点触发window.resize事件,第1张

然后页面有几个事件是动态地增加DOM元素的,比如点击某个层会在底下列出该悔罩亏层详细内容,这样在FF和chrome下没出现问题,但是在IE6-8下每次都重布局了.

比如我拖动一个层,在拖动过程中层的内容又显示在最底下了,当我放开层的时候这个层就跳回拖动前的位置了...

起先我还没看出来是重布局了...然后演示了N久,挣扎了N久,终于觉得可能是由于动态增加DOM节点导致触发window.resize而使页面重布局了碧神...

最后我不由地在心里喊了句"Thank

godness....",还好改变窗口的高度对页面布局没有影响,不然真要麻烦闷此死了...

复制代码

代码如下:

bindResizeWindow:function(){

var

obj

=

this

$(window).resize(function(){

var

newWidth

=

$(window).width()

if(newWidth

==

obj.windowWidth){return}

obj.initUI()

obj.createUI()

obj.windowWidth

=

newWidth

})

},

只要在绑定方法中判只有宽度改变时才触发重布局事件就行了...

利用chrome等浏览竖族器的开发者工具,具体如下

1、打开消山开发者工具

2、切换到Element,并选中你要查看拿纤中的DOM节点

3、右侧栏切换到Event Listeners并查看

参看下图:

$(ele).click(function(){})或$(ele).on('click',function(){})都可以,谈不上优雅族磨。功能困穗老能实现,并且代码简汪升单易懂就好。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11983828.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存