Javascript 简明教程

JavaScript -Introduction to Events

What is an Event ?

JavaScript 与 HTML 的交互是通过用户或浏览器操作页面时发生的事件进行处理的。

当页面加载时,这被称为一个事件。当用户单击一个按钮时,该单击也是一个事件。其他示例包括诸如按任意键、关闭窗口、调整窗口大小等事件。

开发者可以使用这些事件来执行 JavaScript 编码响应,这会导致按钮关闭窗口、向用户显示消息、验证数据以及几乎任何其他类型的可想而知响应。

事件是文档对象模型 (DOM) 级别 3 的一部分,每个 HTML 元素都包含一组可以触发 JavaScript 代码的事件。

请仔细阅读本小型教程以更深入地了解 HTML Event Reference

JavaScript Event Handlers

事件处理程序可用作 HTML 元素的属性。它将内联 JavaScript 或函数执行代码作为值。

每当触发任何事件时,它会调用内联 JavaScript 代码或执行回调函数来执行特定操作。

简单来说,它用于处理事件。

Syntax

用户可以遵循以下语法将事件处理程序与 HTML 元素一起使用。

<div eventHandler = "JavaScript_code"> </div>

在上述语法中,你需要将“eventHandler”替换为真实的事件处理程序,如“onclick”、“onmouseover”等。而“JavaScript_code”应该执行函数或内联运行 JavaScript。

Example: Inline JavaScript with Event Handlers

在以下代码中,我们创建了 <button> 元素。此外,我们使用“onclick”事件处理程序来捕获按钮上的点击事件。

我们编写了内联 JavaScript 代码来处理事件。在内联 JavaScript 代码中,“this”关键字表示 <button> 元素,我们将按钮的文本颜色更改为红色。

<html>
<body>
   <h2> Click the button to Change its text's color </h2>
   <button onclick = "this.style.color='red'"> Click Me </button>
   <div id = "output"> </div>
</body>
</html>

Example: Function with Event Handlers

在以下代码中,我们创建了 <div> 元素,并在 <head> 部分中提供了样式。

我们在 <button> 元素中使用了 'onclick' 事件处理程序,当用户单击按钮时该处理程序会调用 handleClick() 函数。

handleClick() 函数将 'event' 对象作为参数。在 handleClick() 函数中,我们使用 JavaScript 更改 <div> 元素的背景色。

<html>
<head>
   <style>
      #test {
         width: 600px;
         height: 100px;
         background-color: red;
      }
   </style>
</head>
<body>
   <div id = "test"> </div> <br>
   <button onclick = "handleClick()"> Change Div Color </button>
   <script>
      function handleClick(event) {
         var div = document.getElementById("test");
         div.style.backgroundColor = "blue";
      }
   </script>
</body>
</html>

Example: Multiple Functions with Event Handlers

在下面的代码中,我们在 <div> 元素中添加了 'ommouseenter' 事件处理程序。当用户将鼠标光标移入 <div> 元素时,我们会调用 changeFontSize() 和 changeColor() 函数。

changeFontSize() 函数更改文本大小,而 changeColor() 函数更改文本颜色。

这样,你可以在特定事件上调用多个函数。

<html>
<head>
   <style>
      #test {
         font-size: 15px;
      }
   </style>
</head>
<body>
   <h2> Hover over the below text to customize the font. </h2>
   <div id = "test" onmouseenter = "changeFontSize(); changeColor();"> Hello World! </div> <br>
   <script>
      function changeFontSize(event) {
         document.getElementById("test").style.fontSize = "25px";
      }
      function changeColor(event) {
         document.getElementById("test").style.color = "red";
      }
   </script>
</body>
</html>

JavaScript Event Object

处理事件的函数将 'event' 对象作为参数。'event' 对象包含关于事件以及事件发生元素的信息。

还有各种属性和方法也可与事件对象一起使用来获取信息。

Object

Description

Event

它是所有事件对象的父级。

以下是不同类型的事件对象的列表。每个事件对象包含各种事件、方法和属性。

Object/Type

Handles

AnimationEvent

它处理 CSS 动画。

ClipboardEvent

它处理剪贴板的更改。

DragEvent

它处理拖放事件。

FocusEvent

处理焦点事件。

HashChangeEvent

它处理 URL 中锚定部分的更改。

InputEvent

处理表单输入。

KeyboardEvent

处理用户键盘交互。

MediaEvent

它处理与媒体相关的事件。

MouseEvent

处理用户鼠标交互。

PageTransitionEvent

处理网页间的导航。

PopStateEvent

它会处理页面历史记录中的更改。

ProgressEvent

为了处理文件加载进度。

StorageEvent

为了处理 Web 存储中的更改。

TouchEvent

为了处理设备屏幕上的触摸交互。

TransitionEvent

To handle CSS transition.

UiEvent

为了处理用户对用户界面的交互。

WheelEvent

为了处理用户鼠标滚轮的交互。