第八篇-Javascript 事件

简介: 第八篇-Javascript 事件

JavaScript 事件的概念

JavaScript事件是指在网页中发生的特定操作或交互,例如点击按钮、输入文本、滚动页面等。当用户执行这些操作时,浏览器会触发相应的事件,并且可以通过JavaScript代码来捕获并对事件做出响应。

JavaScript 事件绑定

1、HTML属性绑定: 在HTML标签上直接使用事件属性,例如:

<button οnclick="myFunction()">Click me</button>

2、DOM方法绑定: 使用JavaScript中的DOM方法,在代码中通过获取元素的引用,然后使用addEventListener()方法来绑定事件,例如:

var myButton = document.getElementById("myButton");
myButton.addEventListener("click", myFunction);


3、on属性绑定: 使用元素的on属性来直接绑定事件,例如:

var myButton = document.getElementById("myButton");
myButton.onclick = myFunction;

JavaScript 事件流

JavaScript事件流是指浏览器中事件的传播顺序。当一个元素上发生了一个事件,比如点击事件,浏览器会按照特定的顺序传播事件,直到达到最终目标元素或者冒泡到顶层的文档对象。

JavaScript事件流有三个阶段:捕获阶段目标阶段冒泡阶段

  1. 捕获阶段:事件从顶层文档对象开始,一直向下传播到触发事件的元素。这个阶段不会触发任何事件处理函数,只是把事件传播给目标元素。
  2. 目标阶段:事件到达触发事件的元素,触发该元素上绑定的事件处理函数。
  3. 冒泡阶段:事件从目标元素开始,向上冒泡到顶层文档对象。在这个阶段,事件会触发沿途的所有元素上绑定的事件处理函数。

在绑定事件处理函数时,可以使用addEventListener()方法指定事件捕获或事件冒泡阶段进行处理。默认情况下,addEventListener()方法是通过事件冒泡阶段进行处理的。例如:

element.addEventListener('click', handleEvent, true);  // 使用事件捕获阶段进行处理
element.addEventListener('click', handleEvent, false);  // 使用事件冒泡阶段进行处理(默认)

JavaScript 事件对象

JavaScript 事件对象是在事件触发时自动创建的,它包含了关于事件的信息,比如触发事件的元素、事件的类型、鼠标的位置等。在事件处理函数内部,可以通过参数来访问事件对象。

事件对象有一些常用的属性和方法,下面列举几个常用的属性:

      1、event.target:获取触发事件的元素。

      2、event.type:获取事件的类型。

      3、event.clientX / event.clientY:获取鼠标在窗口中的水平/垂直坐标。

      4、event.keyCode:获取按下的键盘按键的键码。


相关文章
|
1月前
|
Web App开发 JavaScript 前端开发
javascript onkeydown事件
javascript onkeydown事件
|
3月前
|
JavaScript 前端开发
js事件队列
js事件队列
141 55
|
1月前
|
JavaScript
js两种移除事件的方法
js两种移除事件的方法
30 2
|
2月前
|
JavaScript 前端开发
JavaScript 事件
JavaScript 事件
34 2
|
3月前
|
JavaScript 前端开发
javascript中常用的事件
这篇文章列出并演示了JavaScript中常用的DOM事件,包括失去焦点、获得焦点、鼠标点击、键盘事件等,并展示了如何通过直接在HTML标签中使用事件句柄和通过JavaScript为元素添加事件监听器两种方式来注册事件。
|
3月前
|
JavaScript 前端开发
JavaScript 事件的绑定
JavaScript 事件的绑定
39 0
|
26天前
|
存储 JavaScript 前端开发
js事件队列
【10月更文挑战第15天】
43 6
|
2月前
|
JavaScript 前端开发
JavaScript HTML DOM 事件
JavaScript HTML DOM 事件
22 5
|
2月前
|
监控 JavaScript 前端开发
|
28天前
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
80 0