JavaScript事件详细讲解
2016-06-27 00:00
507 查看
事件的概念
事件:指的是文档或者浏览器窗口中发生的一些特定交互瞬间。我们可以通过侦听器(或者处理程序)来预定事件,以便事件发生的时候执行相应的代码。
一、事件流
1.事件流:描述的是在页面中接受事件的顺序
2.事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档)
3.事件捕获:最不具体的节点先接收事件,而最具体的节点应该最后接收事件
二、事件处理
1.HTML事件处理:直接添加到HTML结构中
2.DOM0级事件处理:把一个函数赋值给一个事件处理程序属性
3.DOM2级事件处理:
addEventListener("事件名","事件处理函数",布尔值)
true:事件捕获
false:事件冒泡
removeEventListener();
4.IE事件处理程序
attachEvent
detachEvent
三、事件对象
1、事件对象:在触发DOM事件的时候都会产生一个对象
2、事件对象event:
type:获取事件类型
target:获取事件目标
stopPropagation():阻止事件冒泡
preventDefault():阻止事件默认行为
js实现滑动触屏事件监听的方法
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
浅谈javascript的Touch事件
javascript性能优化之事件委托实例详解
详解Javascript事件驱动编程
理解JS事件循环
实例讲解javascript注册事件处理函数
js和jquery实现监听键盘事件示例代码
事件:指的是文档或者浏览器窗口中发生的一些特定交互瞬间。我们可以通过侦听器(或者处理程序)来预定事件,以便事件发生的时候执行相应的代码。
一、事件流
1.事件流:描述的是在页面中接受事件的顺序
2.事件冒泡:由最具体的元素接收,然后逐级向上传播至最不具体的元素的节点(文档)
3.事件捕获:最不具体的节点先接收事件,而最具体的节点应该最后接收事件
二、事件处理
1.HTML事件处理:直接添加到HTML结构中
2.DOM0级事件处理:把一个函数赋值给一个事件处理程序属性
3.DOM2级事件处理:
addEventListener("事件名","事件处理函数",布尔值)
true:事件捕获
false:事件冒泡
removeEventListener();
4.IE事件处理程序
attachEvent
detachEvent
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="div"> <button id="btn1">按钮</button> </div> <!--<script> function demo(){ alert("Hello HTML事件处理"); } </script>--> <!--<script> var btn1 = document.getElementById("btn1"); btn1.onclick = function(){alert("Hello DOM0级事件处理程序")};//被覆盖掉 btn1.onclick = function(){alert("Hello DOM0级事件处理程序2")}; btn1.onclick = function(){alert("Hello DOM0级事件处理程序3")}; </script>--> <!--<script> var btn1 = document.getElementById("btn1"); btn1.addEventListener("click",demo1); btn1.addEventListener("click",demo2); btn1.addEventListener("click",demo3); function demo1(){ alert("DOM2级事件处理程序1"); } function demo2(){ alert("DOM2级事件处理程序2"); } function demo3(){ alert("DOM2级事件处理程序3"); } btn1.removeEventListener("click",demo2) </script>--> <script> var btn1 = document.getElementById("btn1"); if(btn1.addEventListener){ btn1.addEventListener("click",demo); }else if(btn1.attachEvent){ btn1.attachEvent("onclick",demo) }else{ btn1.onclick = demo(); } function demo(){ alert("Hello"); } </script> </body> </html>
三、事件对象
1、事件对象:在触发DOM事件的时候都会产生一个对象
2、事件对象event:
type:获取事件类型
target:获取事件目标
stopPropagation():阻止事件冒泡
preventDefault():阻止事件默认行为
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="div"> <button id="btn1">按钮</button> <a href="http://www.baidu.com" id="aid">百度</a> </div> <script> document.getElementById("btn1").addEventListener("click",showType); document.getElementById("div").addEventListener("click",showDiv); document.getElementById("aid").addEventListener("click",showA); function showType(event){ // alert(event.type); alert(event.target); event.stopPropagation();//阻止事件冒泡 } function showDiv(){ alert("div") } function showA(event){ // event.stopPropagation(); // event.preventDefault(); } </script> </body> </html>
您可能感兴趣的文章:
js网页滚动条滚动事件实例分析js实现滑动触屏事件监听的方法
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
浅谈javascript的Touch事件
javascript性能优化之事件委托实例详解
详解Javascript事件驱动编程
理解JS事件循环
实例讲解javascript注册事件处理函数
js和jquery实现监听键盘事件示例代码
相关文章推荐
- Extjs4.0 最新最全视频教程
- Javascript中toFixed方法的改进
- 5个常见可用性错误和解决方案
- js数组实现图片轮播
- js可突破windows弹退效果代码
- jQuery中的常用事件总结
- C#实现WinForm捕获最小化事件的方法
- JSP脚本漏洞面面观
- 使用BAT一句话命令实现快速合并JS、CSS
- js显示当前星期的起止日期的脚本
- c#事件使用示例详解
- C#中的事件介绍
- 爆炸式的JS圆形浮动菜单特效代码
- C#实现自定义双击事件
- js select常用操作控制代码
- JS实现不使用图片仿Windows右键菜单效果代码
- 从jsp发送动态图像
- 原生js结合html5制作小飞龙的简易跳球
- js 页面模块自由拖动实例
- js实现小鱼吐泡泡在页面游动特效