网页设计基础第三十三讲:动手实践 — 用JavaScript事件打造互动待办事项列表

816 阅读4分钟

在现代网页开发中,事件是实现用户交互的核心部分。理解各种事件类型及其应用能够大大提升用户体验。在本篇文章中,我们将聚焦于常见的JavaScript事件类型,包括UI事件、键盘事件、鼠标事件、表单事件、触摸事件及自定义事件,并通过实际案例展示如何使用这些事件来增强网页的功能性。

知识回顾

常见的JavaScript事件类型分类如下:

1. UI事件

UI事件是与用户界面的变化相关的事件。常见的UI事件有:

  • load:页面或资源加载完成。
  • unload:页面关闭或卸载。
  • resize:窗口大小改变。
  • scroll:页面滚动。

2. 鼠标事件

鼠标事件是用户通过鼠标进行的操作。常见的鼠标事件包括:

  • click:单击鼠标。
  • dblclick:双击鼠标。
  • mouseover:鼠标指针移动到元素上方。
  • mouseout:鼠标指针移出元素区域。
  • mousedown:鼠标按钮按下。
  • mouseup:鼠标按钮释放。

3. 键盘事件

键盘事件是在用户与键盘交互时触发的事件。常见的键盘事件有:

  • keydown:按下键盘按键。
  • keyup:松开键盘按键。
  • keypress:按下和释放字符键(已不推荐使用,建议使用keydown和keyup)。

4. 表单事件

表单事件涉及用户在表单元素上的操作。常见的表单事件包括:

  • submit:提交表单。
  • change:表单元素的值已更改。
  • focus:输入框获得焦点。
  • blur:输入框失去焦点。
  • input:输入框的内容变化(实时更新)。

5. 触摸事件

适用于触摸屏设备的事件,包括:

  • touchstart:用户用手指触摸屏幕。
  • touchmove:用户手指在屏幕上移动。
  • touchend:用户手指离开屏幕。
  • touchcancel:触摸操作被中断(例如,用户移动手指出屏幕)。

6. 自定义事件

开发者可以创建自定义事件来实现特定的功能。这些事件可以在特定情况下被触发,增强应用的灵活性和功能性。

7. 其他事件

  • drag:元素被拖动。
  • drop:拖动的元素在当前位置放下。
  • contextmenu:右键菜单事件。

任务描述

我们将创建一个简单的待办事项列表应用,让用户能够添加、删除和标记完成的任务。我们将使用多种JavaScript事件来实现这一功能,包括输入、鼠标和键盘事件。

任务实施

使用HTML、CSS和JavaScript实现待办事项列表的功能。

image.png

1. HTML结构

我们首先需要定义基本的HTML结构,包括输入框、按钮和任务列表。

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>待办事项列表</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            margin-top: 50px;
        }
        input[type="text"] {
            width: 300px;
            padding: 10px;
        }
        button {
            padding: 10px 20px;
            font-size: 16px;
        }
        ul {
            list-style-type: none;
            padding: 0;
        }
        li {
            padding: 10px;
            margin-top: 5px;
            border: 1px solid #ccc;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
        }
        .completed {
            text-decoration: line-through;
            color: gray;
        }
    </style>
</head>
<body>
    <h1>待办事项列表</h1>
    <input type="text" id="taskInput" placeholder="添加新的任务">
    <button id="addButton">添加任务</button>
    <ul id="taskList"></ul>

  
</body>
</html>

2. 各种事件类型的应用

  • 输入事件:在输入框中,用户可以输入新的待办任务。
  • 鼠标事件:通过点击任务列表项,用户可以标记任务完成或未完成;点击删除按钮可以删除特定任务。
  • 键盘事件:用户可以直接按下Enter键来快速添加任务,提升用户的操作效率。

3. 功能解释

  • 添加任务:用户在输入框中输入任务后,可以点击“添加任务”按钮,或按下Enter键添加任务。添加的任务将显示在任务列表中。
  • 标记完成:用户通过点击任务项,可以在完成和未完成状态之间切换,完成的任务将显示为删除线并变成灰色。
  • 删除任务:每个任务旁边都有一个“删除”按钮,点击后可以删除该任务。

4. 总结

通过这个待办事项列表的示例,我们深入学习了常见的JavaScript事件类型及其在实际应用中的结合使用。借助这些事件,我们能够创建一个功能齐全且互动性强的网页应用,从而提高用户体验。希望这个案例能激励大家探索更多JavaScript事件的应用场景!

实验实训