你的位置:首页 > 软件开发 > Java > javascript笔记7

javascript笔记7

发布时间:2016-02-12 00:00:04
由处理程序来监听某个动作,一旦某个动作发生,那么处理程序就作出响应,这就是观察者模式的简单案例。在JavaScript中,按钮一旦被点击(或者其他动作,拿点击按钮举例),就会有响应的处理程序进行响应,比如,点击按钮弹出一个对话框、鼠标滑过按钮会提示一行字等等,这就是JavaScr ...

javascript笔记7

由处理程序来监听某个动作,一旦某个动作发生,那么处理程序就作出响应,这就是观察者模式的简单案例。在JavaScript中,按钮一旦被点击(或者其他动作,拿点击按钮举例),就会有响应的处理程序进行响应,比如,点击按钮弹出一个对话框、鼠标滑过按钮会提示一行字等等,这就是JavaScript中要讲的事件,也属于经典的观察者模式。

  1. 事件流。
    在DOM树中,可能一个<button>元素属于一个<div>元素的子元素,而<div>又属于<html>的子元素。这个时候,点击<button>这个元素,<button>就会触发一个事件(或者一个动作),而<div>、<html>有可能也要接收到这个事件的信号。也就是说,你打了button一下,它的父亲、祖父都会感受到你的打击。这就是事件流。IE的事件流是事件冒泡流。
  2. 事件冒泡
    • IE的事件流叫做事件冒泡。即事件从最深的元素开始接收,然后逐级向上传播。
      如:打了孙子一下,孙子感受到疼,然后父亲感知,最后爷爷感知,追本溯源,直到老祖宗感知。
    • 事件冒泡的过程图:
      • javascript笔记7
  3. 事件捕获
    • 事件捕获与事件冒泡正好相反,即从最外层开始接收事件,直到最深的元素。
      骂了姓张的人,首先张姓的祖宗感到耻辱,接着张姓的爷爷、爸爸、自己分别感受到。
    • 事件捕获很少用到。过程图与事件冒泡相反。
  4. DOM的事件流
    • DOM2级事件包括三个阶段:事件捕获阶段、处理目标阶段、事件冒泡阶段。
      先发生事件捕获,传递到最深一层,由具体元素接收到事件,然后冒泡并处理程序。(下面讲到第10节事件对象的target属性时会具体解释这一现象)
    • 过程图:
      • javascript笔记7
  5. 事件处理程序
    • 事件就是用户或者浏览器自身执行的某种动作。而响应某个事件的函数就叫做事件处理程序。
      诸如click、load、mouseover都是事件的名字。事件处理程序的名字则在前面加on,比如:onclick、onload等。
    • 示例:

       1 <body> 2   <input type="button" value="Click Me" onclick="alert('Clicked')" /> 3   <!--双引号转义--> 4   <input type="button" value="Click Me" onclick="alert(&quot;Clicked&quot;)" /> 5  6   <script type="text/javascript"> 7     function showMessage(){ 8       alert("Hello world!"); 9     }10   </script>11   <input type="button" value="Click Me" onclick="showMessage()" />12   <!--防止在函数未加载时点击-->13   <input type="button" value="Click Me" onclick="try{showMessage();}catch(ex){}" />14 </body>

       

      海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

      原标题:javascript笔记7

      关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。