js事件的学习心得
2011-03-29 22:55
218 查看
js和html之间的交互是通过用户和浏览器操作页面时引发的事件来处理的。
我们现在通过jquery的bind,unbind,trigger方法可以很好的操作dom元素上的事件,且兼容浏览器。
然而实际上各浏览器之间的事件还是有所不同的,只是jquery帮我们很好的封装了一层,但我们还是要稍微了解下之间的区别。
浏览器上的事件类型分为了3种,在IE上的叫做冒泡型事件
比如:<html>
<body onclick="handleClick()">
<div onclick="handleClick()">Click me</div>
</body>
</html>
在IE6以上版本的时间顺序是div--->body--->html---->document
Mozilla1.0以上版本也支持冒泡时间,但它的泡一直到了window上,是div--->body--->html---->document--->window
捕获型事件:
Netscape Navigator4.0的时间顺序是document--->div
Dom事件流:同时支持两种时间模型(冒泡型事件和捕获型事件),捕获型事件先发生
window-->document-->body-->div--->body---->document--->window
IE和DOM通用的时间处理函数方法是:
var oDiv = document.getElementById("mdx");
oDiv.onclick=function(){alert("111");}
上面的方法只能设置一个事件,即后面的会把前面的覆盖掉,而以下两个方法则可以设置多个
另外IE特有的监听方法为attachEvent()和detachEvent()
attachEvent("name_Event",fnHandle)
detachEvent("name_Event",fnHandle)
a.事件目标:event.srcElement
b.字符代码:event.keyCode
c.阻止时间默认行为:event.returnValue = false;
d.停止事件冒泡:event.cancelBubble = true;
Dom的方法是addEventListener()和removeEventListener()
addEventListener("name_Event",fnHandle,bCapture)
removeEventListener("name_Event",fnHandle,bCapture)
第三个参数为true时是捕获事件,为false时是冒泡事件
a.事件目标:event.target
b.字符代码:event.charCode
c.阻止时间默认行为:event.preventDefault()
d.停止事件冒泡:event.stopPropagation()
我们现在通过jquery的bind,unbind,trigger方法可以很好的操作dom元素上的事件,且兼容浏览器。
然而实际上各浏览器之间的事件还是有所不同的,只是jquery帮我们很好的封装了一层,但我们还是要稍微了解下之间的区别。
浏览器上的事件类型分为了3种,在IE上的叫做冒泡型事件
比如:<html>
<body onclick="handleClick()">
<div onclick="handleClick()">Click me</div>
</body>
</html>
在IE6以上版本的时间顺序是div--->body--->html---->document
Mozilla1.0以上版本也支持冒泡时间,但它的泡一直到了window上,是div--->body--->html---->document--->window
捕获型事件:
Netscape Navigator4.0的时间顺序是document--->div
Dom事件流:同时支持两种时间模型(冒泡型事件和捕获型事件),捕获型事件先发生
window-->document-->body-->div--->body---->document--->window
IE和DOM通用的时间处理函数方法是:
var oDiv = document.getElementById("mdx");
oDiv.onclick=function(){alert("111");}
上面的方法只能设置一个事件,即后面的会把前面的覆盖掉,而以下两个方法则可以设置多个
另外IE特有的监听方法为attachEvent()和detachEvent()
attachEvent("name_Event",fnHandle)
detachEvent("name_Event",fnHandle)
a.事件目标:event.srcElement
b.字符代码:event.keyCode
c.阻止时间默认行为:event.returnValue = false;
d.停止事件冒泡:event.cancelBubble = true;
Dom的方法是addEventListener()和removeEventListener()
addEventListener("name_Event",fnHandle,bCapture)
removeEventListener("name_Event",fnHandle,bCapture)
第三个参数为true时是捕获事件,为false时是冒泡事件
a.事件目标:event.target
b.字符代码:event.charCode
c.阻止时间默认行为:event.preventDefault()
d.停止事件冒泡:event.stopPropagation()
相关文章推荐
- js学习心得之js的自定义事件-基于观察者模式的实现
- js事件学习心得
- js的事件捕获和事件冒泡学习心得
- 每日学习心得:Js基本数据类型常用方法扩展
- selenium 学习-js执行,事件模拟,页面加载等待
- 【js学习笔记-096】----拖放事件
- js学习笔记:事件——事件流、事件处理程序、事件对象
- JS学习47:transitionend 事件的折腾
- riot.js学习【三】事件
- 关于面试中的原生js实现事件代理和事件模型和事件广播的学习
- js的事件学习笔记
- js学习笔记——事件
- javascript学习(十二):js 中为某个对象(控件)绑定事件通常可以采取两种手段
- 韩顺平 javascript教学视频_学习笔记23_js事件驱动机制深入理解_js常用事件_js版计算器
- JS学习笔记(一)DOM事件和监听
- js学习事件-----js模仿手机下拉刷新(1)
- JS 学习笔记--JS中的事件对象基础
- 【JS深入学习】——animationend 事件兼容性说明
- Vue学习之源码分析--Vue.js事件机制(四)
- JS学习1--基础、DOM控制Html元素、JS事件