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事件流有三个阶段:捕获阶段、目标阶段和冒泡阶段。
- 捕获阶段:事件从顶层文档对象开始,一直向下传播到触发事件的元素。这个阶段不会触发任何事件处理函数,只是把事件传播给目标元素。
- 目标阶段:事件到达触发事件的元素,触发该元素上绑定的事件处理函数。
- 冒泡阶段:事件从目标元素开始,向上冒泡到顶层文档对象。在这个阶段,事件会触发沿途的所有元素上绑定的事件处理函数。
在绑定事件处理函数时,可以使用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:获取按下的键盘按键的键码。