IE之动态添加DOM节点触发window.resize事件
然后页面有几个事件是动态地增加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;
});
},
只要在绑定方法中判只有宽度改变时才触发重布局事件就行了...
相关推荐
-
jquery中dom操作和事件的实例学习 下拉框应用
今天这个demo是有关下拉框的. 复制代码 代码如下: <div class="centent"> <select multiple="multiple" id="select1" style="width:100px;height:160px;"> <option value="1">选项1</option> <option value="2
-
一些主流JS框架中DOMReady事件的实现小结
原来比较常用的是window的onload 事件,而该事件的实际效果是:当页面解析/DOM树建立完成,并完成了诸如图片.脚本.样式表甚至是iframe中所有资源的下载后才触发的.这对于很多 实际的应用而言有点太"迟"了,比较影响用户体验.为了解决这个问题,ff中便增加了一个DOMContentLoaded方法,与onload相比,该 方法触发的时间更早,它是在页面的DOM内容加载完成后即触发,而无需等待其他资源的加载.Webkit引擎从版本525(Webkit nightly 1/20
-
JQuery为页面Dom元素绑定事件及解除绑定方法
1.绑定事件 复制代码 代码如下: $('#id').bind("click",function(){ ... }) 可一次性绑定多个事件 复制代码 代码如下: $('#id').bind("click mouseover mouseout",function(){ ... }) 2.解除绑定 复制代码 代码如下: $('#id').unbind("click") 3.绑定一次 复制代码 代码如下: $('#id').one("clic
-
Javascript Event事件中IE与标准DOM的比较
1.事件流的区别 IE采用冒泡型事件 Netscape使用捕获型事件 DOM使用先捕获后冒泡型事件 示例: 复制代码 代码如下: <body> <div> <button>点击这里</button> </div> </body> 冒泡型事件模型: button->div->body (IE事件流) 捕获型事件模型: body->div->button (Netscape事件流) DOM事件模型: body-&g
-
jQuery 选择器、DOM操作、事件、动画
Jquery选择器 $(document).ready(function(){}) $(function(){}) 如果获取的对象是jQuery对象,那么在变量前面加上$,例如:var $variable=jQuery对象 选择器 1, 判断页面是否存在某元素:if($("#tt").length>0){} 或者if($("#tt")[0]){}; 2, 基本选择器 $("#test") 选择id为test的元素 $(".test
-
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
在调试功能模块时候,发现怎么用什么方法都无法在infowindow里面添加的div进行绑定事件处理.郁闷啊!上网搜了好多方法也没用, 后来想想还是查了一下官方的API,发现了google.maps.InfoWindow下面的Events里面有个domready事件 官方解释: This event is fired when the containing the InfoWindow's content is attached to the DOM. You may wish to monito
-
JavaScript DOM 添加事件
因为对于支持DOM的浏览器来说,添加事件是用addEventListener()方法来给对象添加事件! 而对于MSIE来说则是用attachEvent()来给对象添加事件!这就使得我们必须用一个容器来装载这两个不同浏览器上对事件的处理方式!这样我们就可以直接调用addEvent()方法来给对象添加事件了! 这不是更方便?!呵呵-- 让我们来看看吧! /** * 注册一个监听事件到元素 * @param {Object} node 所要添加事件的对象 * @param {Object} type
-
jquerydom对象的事件隐藏显示和对象数组示例
1.事件处理 1.1.事件绑订 bind(type,fn); 例子: 复制代码 代码如下: $(function(){ //正式的写法 $('#d1').bind('click',function(){ $(this).css('font-size','80px'); }); //简写形式 $('#d1').click(function(){ $(this).css('font-size','80px'); }); }); 1.2.绑订方式的简写形式 复制代码 代码如下: click(funct
-
javascript 删除dom对象的事件函数代码
JS添加/删除事件在IE和支持dom浏览器分别为:attachEvent(ie中的添加事件),detachEvent(ie中的删除事件),addEventListener(支持dom浏览器中的添加事件),removeEventListener(支持dom浏览器中的删除事件). 例如第一次点击黑色区域的时候弹出警告,并移除click事件,也就是第二次再点击的时候就没反应了,整合代码如下: 添加删除事件 var EventUtil=new Object; //oTarget:目标:sEventTyp
-
DOM中事件处理概览与原理的全面解析
事件是一种异步编程的实现方式,本质上是程序各个组成部分之间的通信,DOM支持大量的事件: 本文通过这几点向大家详细解析事件处理的基本原理:事件类型.事件目标.事件处理程序.事件对象.事件传播 最后再向大家介绍Event对象: 一.事件类型(event type):是一个用来说明发生了什么类型事件的全小写的字符串,如'mouseover' 传统事件类型:表单事件,Window事件,鼠标事件,键盘事件,DOM事件, HTML5事件,触摸屏和移动设备事件等 二.事件目标(event target):触
随机推荐
- ajax不执行success回调而是执行了error回调
- windows server 2008/2012安装php iis7 mysql环境搭建教程
- thinkphp获取栏目和文章当前位置的方法
- Java基于正则表达式实现查找匹配的文本功能【经典实例】
- 拼接相临的奇偶行文本内容
- ASP.NET用DataSet导出到Excel的方法
- Laravel中的Blade模板引擎示例详解
- 解析Silverlight调用WCF/Rest异常的解决方法
- js实现简单鼠标跟随效果的方法
- 鼠标划过实现延迟加载并隐藏层的js代码
- SQL Server两种分页的存储过程使用介绍
- JavaScript 节流函数 Throttle 详解
- C++嵌套类与局部类详细解析
- Android仿淘宝头条向上滚动广告条ViewFlipper
- Android编程实现二维码的生成与解析
- yii2 commands模式以及配置crontab定时任务的方法
- Linux中你不知道的使用技巧小结
- 网络经济将破700亿 代理作用渐显
- PHP实现的猴王算法(猴子选大王)示例
- 深入了解响应式React Native Echarts组件