JavaScript(6)事件

1,事件详解

1.1事件注册

给元素添加事件就称为注册事件,注册事件也成为绑定事件,注册事件有两种方式:

  • 传统注册方式
  • 监听注册方式

1.1.1传统注册

传统注册方式是通过指定事件源绑定回调函数的形式来处理时间,当指定事件触发后回调函数就会被调用,这样就可以实现页面和用户之间的交互了。

  • 通过HTML元素指定属性来绑定
  • 通过DOM对象指定的 属性绑定

1.1.2监听注册

通过事件监听来注册,称为设置事件监听器。通过EventTarget.addEventListener()方法来实现。EventTarget.addEventListener()将指定的监听器注册到eventTarget上,当该对象触发指定的事件时,指定的回调函数就会被执行。

target.addEventListener(type, listener, useCapture);
//type必须有,事件监听的类型,如click,mouseover
//listener必须有,是一个实现了eventlistener接口的对象,或者是一个函数
//useCapture可选,表示是冒泡还是捕获,值为true表示捕获,否则为冒泡 

1.1.3两种注册比较

①如果使用传统方式进行注册,当同一个对象添加相同事件时,后面的时间会覆盖掉前面的事件,如果使用监听方式进行注册,当同一个对象绑定相同多个事件时,这些时间都会被执行。
②传统注册方式只能进行冒泡,不能进行捕获,而监听注册方式可以冒泡也可以捕获。

1.2解绑事件

对于传统的注册事件,解绑事件的语法为

eventTarget.事件类型 = null;

对于监听注册方式,解绑事件的语法为:

eventTarget.removeEventListener(type, listener, useCapture);

如果把解绑语句放到注册注册语句外,那么注册的事件将无效,如果放到注册事件代码中,那么会执行一次。
对于监听注册方式的解绑,需要注意事件类型和监听函数必须是相同的。

1.3事件流

事件流又称事件传播,描述的是从页面接收事件的顺序,当事件发生时惠子啊元素节点之间按特定的顺序传播,这个传播过程就叫DOM事件流。
在这里插入图片描述
事件流包括三个阶段:事件捕获阶段,处于目标阶段,事件冒泡阶段。

  • 捕获阶段:从不确定事件源到确定事件源依次向下响应
  • 目标阶段:真正的目标节点正在处理事件的阶段。
  • 冒泡阶段:从明确事件源到不明确的事件源依次向上响应。

在这里插入图片描述

  • JavaScript代码中只能执行捕获或冒泡其中一个阶段,要么冒泡要么捕获。
  • onclick与attachevent方式注册的事件只有冒泡阶段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值