`
zhangyaochun
  • 浏览: 2616735 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

addEventListener等事件监听的参数细谈

阅读更多

简单记录,学习参考

 

前言

 

写的目的主要是细化到具体的参数,兼容性的文章可以参考其他我博客的文章。

 

1.addEventListener(type,listener.useCapture)

 

 

  • type              字符串,事件名称,如'click'等 不需要'on'前缀
  • listener         事件处理的函数,实现EventListener接口
  • useCapture   是否使用捕获--- true为捕获,false为冒泡

a.  先从第3个参数开始吧。

/*
html文档树结构
*/
<div id="out">
   <div id="innerP">
         <div id="innerChild">最里面的孩子</div>
   </div>
</div>

<div id="showInfo"></div>
 
var out = document.getElementById('out');
var innerP = document.getElementById('innerP');
var innerChild = document.getElementById('innerChild');
var infoShow = document.getElementById('infoShow');
/*
绑事件
*/
out.addEventListener('click',function(){infoShow.innerHTML += 'outDiv' + '<br />'},false);

innerP.addEventListener('click',function(){infoShow.innerHTML += 'innerP' + '<br />'},false);

innerChild.addEventListener('click',function(){infoShow.innerHTML += 'innerChild' + '<br />'},false);
 
测试原理设计
       因为我们测试的是第3个参数,它有true和false两个值,所以有六种排列

测试结果
  1. 设置了true的触发的顺序永远在false之前
比如:我修改了innerP的true,在点击innerChild的时候触发顺序还是innerP在前。

     2.  全为false的话

点击innerChild触发的顺序是innerChild-------innerP------outDiv

     3. 全为true的话

点击innerChild触发的顺序是outDiv------innerP-------innerChild



b.  下面说说第二个参数listener

  •   可以附加多个事件处理函数,执行顺序按照绑定的先后
  •   还有就是关于处理函数删除的问题,使用addEventListener()将事件处理函数加入到捕获阶段,则必须在removeEventListener()中指明是捕获阶段,才能正确地删除这个事件处理函数。 
  使用传统的方法直接给事件处理函数属性赋值,事件处理函数将被添加到事件的冒泡阶段

var out = document.getElementById('out');
out.onclick = fnClick;
out.addEventListener('click',fnClick,false);
 

  但是直接赋值的不同点在于,后续对事件处理函数的赋值会清除前面的赋值

1
0
分享到:
评论
1 楼 jertom 2016-05-26  
<div id="showInfo"></div>改为
<div id="infoShow"></div>

相关推荐

    js事件监听机制(事件捕获)总结

    JavaScript事件监听机制是前端开发中极其重要的一环,它允许开发者对用户行为(如点击、按键、鼠标移动等)作出响应。事件监听涉及的几个核心概念包括事件传播的两种方式:事件捕获和事件冒泡,以及兼容性问题和事件...

    JavaScript使用addEventListener添加事件监听用法实例

    本文实例讲述了JavaScript使用addEventListener添加事件监听用法。分享给大家供大家参考。具体实现方法如下: &lt;!DOCTYPE html&gt; &lt;html lang=en&gt; &lt;head&gt; &lt;title&gt;This text is the title of the...

    cocos creator为事件加上监听的两种处理方式

    `addEventListener`和`removeEventListener`是`cc.EventTarget`接口提供的方法,它们允许我们对任何具有事件处理能力的对象添加或移除事件监听器。 ### 事件类型 Cocos Creator支持多种内置事件类型,包括但不限于...

    addeventlistener监听scroll跟touch(实例讲解)

    在Web开发中,尤其是针对移动设备的优化,`addEventListener`是一个关键的方法,它允许我们对DOM元素添加事件监听器。本文将深入探讨如何使用`addEventListener`来监听`scroll`和`touch`事件,并理解其中涉及的技术...

    jquery监听鼠标滚轮事件+js监听滚轮事件

    可以使用`addEventListener`方法添加事件监听器,并处理不同的滚轮事件名称。 ```javascript document.addEventListener('DOMContentLoaded', function() { var body = document.body; // 针对大部分浏览器 ...

    Passive Event Listeners - 被动事件监听器1

    在传统的事件监听器中,我们通常使用`addEventListener`方法添加事件处理函数,如以下示例所示: ```javascript document.addEventListener("click", fn, false/true); ``` 这里的第三个参数是一个布尔值,用来...

    详解addEventListener的三个参数之useCapture

    addEventListener 有三个参数:第一个参数表示事件名称(不含 on,如 “click”);第二个参数表示要接收事件处理的函数;第三个参数为 useCapture,本文就讲解它。 代码如下: ”outDiv”&gt;  ”middleDiv”&gt;  ”...

    javascript事件监听与事件委托实例详解

    在js中,常用到element.addEventListener()来进行事件的监听。但是当页面中存在大量需要绑定事件的元素时,这种方式可能会带来性能影响。此时,我们可以用事件委托的方式来进行事件的监听。 每个事件都经历三个阶段 ...

    事件绑定、事件监听、事件委托.pdf

    事件绑定是指在网页中添加事件监听器的过程,当特定的用户操作发生时,比如点击、鼠标移动、按键操作等,就会触发事先设置好的函数进行响应。在早期的JavaScript中,我们通常通过在HTML标签上直接使用事件属性来实现...

    间隔函数及事件监听.zip

    要添加事件监听器,可以使用`addEventListener`方法: ```javascript element.addEventListener(eventName, callbackFunction); ``` 这里的`element`是你想要监听事件的DOM元素,`eventName`是你要监听的事件类型...

    下拉菜单事件监听-1.0.0.1.zip

    在AutoJS中,可以使用`addEventListener`方法为下拉菜单绑定`onItemClick`、`onItemSelected`等事件。这些事件会在用户点击列表项或选择特定项时触发。 ```javascript var listView = android.widget.ListView....

    JS事件监听触发响应式布局

    JavaScript(JS)事件监听与触发在实现响应式布局中扮演着重要角色。通过理解这一概念,我们可以创建更加动态且适应性强的网页。 首先,我们需要了解响应式布局的基础,这是由Ethan Marcotte在2010年提出的。响应式...

    Actionscript监听事件传多个参数

    本篇文章将基于提供的代码片段深入探讨如何在ActionScript中实现监听事件并传递多个参数的功能。 ### ActionScript监听事件传多个参数 #### 一、代码解析 首先来看第一个代码段: ```actionscript public static ...

    JS监听事件的叠加和移除功能

    html DOM元素有很多on开头的监听事件,如onload、onclick等,见DOM事件列表。但是同一种事件,后面注册的会覆盖前面的: [removed] = function(){ alert&#40;1&#41;; } [removed] = function(){ alert&#40;2&#41;...

    键盘事件监听

    这个函数通常会接收到一个`KeyboardEvent`对象作为参数,该对象包含了关于键盘事件的所有信息,如按键码(keyCode)等: ```actionscript function handleKeyDown(event:KeyboardEvent):void { // 处理键盘按下...

    (11)HTML5-鼠标单击事件监听图片资源

    在这个例子中,我们使用`addEventListener`方法为`id`为`gopherImage`的图片元素添加了一个点击事件监听器。这样,当用户点击这个图片时,`handleClick`函数会被调用。 对于`hover_gophers-1.png`,这是另一种交互...

    事件监听及JS相关基础

    在JavaScript编程中,事件监听是实现用户交互的关键技术。它允许我们对用户的特定行为做出响应,比如点击按钮、提交表单或更改输入字段等。本文将深入探讨事件监听及其相关基础知识,包括事件绑定、事件解绑、常见...

    js 冒泡事件与事件监听使用分析

    在非IE浏览器中,我们可以使用`addEventListener`方法来添加事件监听器,而在IE浏览器中,则需要使用`attachEvent`。 例如,使用`addEventListener`添加一个点击事件监听器: ```html 点击我 var button = ...

Global site tag (gtag.js) - Google Analytics