day03—JavaScript中DOM的Event事件方法

转行学开发,代码100天——2018-03-19

1、Event 对象

Event 对象代表事件的状态,比如事件在其中发生的元素、键盘按键的状态、鼠标的位置、鼠标按钮的状态。

事件通常与函数结合使用,函数不会在事件发生前被执行!

2、常用的event属性有:

type                          //返回当前 Event 对象表示的事件的名称。

target                       //返回触发此事件的元素(事件的目标节点)

3、常用的event方法有:

initEvent()                //初始化新创建的 Event 对象的属性

stopPropagation()   //通知浏览器不要执行与事件关联的默认动作。即阻止事件冒泡

preventDefault()      //不再派发事件。即阻止默认事件

<!DOCTYPE html>
<html>
<head>
    <title>事件流</title>
</head>
<body>
  <div id="div">
      <button id="btn">按钮</button>
      <a href="http://www.baidu.com" id="aid">百度</a>
  </div>
  
  <script type="text/javascript">
      document.getElementById("btn").addEventListener("click",showType);
      document.getElementById("div").addEventListener("click",showDiv);
      document.getElementById("aid").addEventListener("click",showA);

      function showType(event)
      {
          alert(event.bubbles);//事件为冒泡事件,返回值为true
          alert(event.type); //返回类型为click
          alert(event.target); //返回[object HTMLButtonElement]
          event.stopPropagation();//阻止事件冒泡
      }
      function showDiv()
      {
          alert("div");
      }
      function showA(event)
      {
          event.stopPropagation();//阻止冒泡事件
          event.preventDefault(); //阻止a标签默认行为,即点击a标签时,不会跳转到相应网址

      }
  </script>
</body>
</html>

注意:事件传播

在 2 级 DOM 中,事件传播分为三个阶段:

第一阶段捕获阶段。事件从 Document 对象沿着文档树向下传递给目标节点。如果目标的任何一个先辈专门注册了捕获事件句柄,那么在事件传播过程中运行这些句柄。

第二个阶段发生在目标节点自身。直接注册在目标上的适合的事件句柄将运行。这与 0 级事件模型提供的事件处理方法相似。

第三阶段起泡阶段。在此阶段,事件将从目标元素向上传播回或起泡回 Document 对象的文档层次。

心未老,即奋不顾身!
原文地址:https://www.cnblogs.com/allencxw/p/8605971.html