首页 > 编程语言 >JavaScript第十一讲:DOM编程“事件”

JavaScript第十一讲:DOM编程“事件”

时间:2024-06-06 23:29:05浏览次数:26  
标签:触发 编程 DOM JavaScript 阻止 点击 事件 元素 event

前言

当涉及到DOM(Document Object Model)的事件时,JavaScript提供了许多内置的事件处理器,用于处理用户在网页上执行的各种操作。

1. 焦点事件

当元素获得或失去焦点时触发。

  • onfocus: 当元素获得焦点时触发。
  • onblur: 当元素失去焦点时触发。
// 假设有一个输入框  
<input type="text" id="myInput" onfocus="alert('输入框获得焦点!');" onblur="alert('输入框失去焦点!');">

2. 鼠标事件

与鼠标交互时触发。

  • onclick: 当用户点击元素时触发。
  • onmousedown: 当用户按下鼠标按钮时触发。
  • onmouseup: 当用户释放鼠标按钮时触发。
  • onmousemove: 当鼠标指针在元素内部移动时触发。
  • onmouseover: 当鼠标指针进入元素时触发。
  • onmouseout: 当鼠标指针离开元素时触发。
    // 假设有一个按钮  
    <button id="myButton" onclick="alert('按钮被点击了!');">点击我</button>

    3. 键盘事件

    当用户与键盘交互时触发。

  • onkeydown: 当用户按下键盘上的某个键时触发。
  • onkeyup: 当用户释放键盘上的某个键时触发。
  • onkeypress: 当用户按下并释放一个键时触发(某些键可能不会触发,如修饰键)。
// 监听整个文档的键盘事件  
document.onkeydown = function(event) {  
    alert('你按下了键: ' + event.key);  
};

4. 点击事件

(已在鼠标事件中涵盖)onclick

5. 变化事件

当元素的值或内容发生变化时触发。

  • onchange: 当<input><select><textarea>元素的值改变且失去焦点时触发。
<input type="text" id="myInput" onchange="alert('输入内容已改变!');">

6. 提交事件

当表单提交时触发。

  • onsubmit: 当表单提交时触发。
<form id="myForm" onsubmit="alert('表单正在提交!'); return false;">  
    <!-- 表单内容 -->  
    <input type="submit" value="提交">  
</form>  
  
// 注意:return false; 用于阻止表单的实际提交,以便在示例中仅显示警告。

7. 加载事件

当页面或元素加载时触发。

  • onload: 当页面或图像等资源加载完成时触发。
// 监听整个窗口的加载事件  
window.onload = function() {  
    alert('页面已加载完成!');  
};

8. 当前组件

"当前组件"不是一个特定的事件类型,但通常指的是触发事件的DOM元素。在事件处理函数中,您可以通过this关键字或事件对象的target属性来访问它。

// 假设有一个按钮  
<button id="myButton" onclick="handleClick(event);">点击我</button>  
  
<script>  
function handleClick(event) {  
    alert('你点击了: ' + event.target.id); // 显示被点击元素的ID  
}  
</script>

9. 阻止事件的发生

在某些情况下,您可能希望阻止事件的默认行为或阻止事件进一步传播。

  • event.preventDefault(): 阻止事件的默认行为(例如,阻止表单提交或阻止链接的默认跳转)。
  • event.stopPropagation(): 阻止事件进一步传播到父元素(即阻止事件冒泡)。
<a href="https://example.com" id="myLink" onclick="handleLinkClick(event);">不要跳转到这个链接</a>  
  
<script>  
function handleLinkClick(event) {  
    event.preventDefault(); // 阻止链接的默认跳转行为  
    alert('链接被点击了,但不会跳转!');  
}  
</script>

结语

以上就是关于DOM事件的详细解释和代码示例。希望这些信息能帮助您更好地理解JavaScript中的事件处理机制。下一节有练习题,有需要的大佬们可以看看。

respect!

标签:触发,编程,DOM,JavaScript,阻止,点击,事件,元素,event
From: https://blog.csdn.net/2303_80856850/article/details/139512137

相关文章

  • 【JavaScript函数】
    函数:是被设计为执行特定任务的代码块。作用:代码重用,结构清晰1.1、定义函数定义函数有两种方法:函数声明和函数表达式:1.1.1、函数声明解释:这里声明一个函数f,并传入一个参数a,当函数执行以后,通过return关键字返回了a+1的值。1.1.2、函数表达式通过定义一个匿......
  • 微前端学习笔记(5):从import-html-entry发微DOM/JS/CSS隔离
    import-html-entry 是qiankun中一个举足轻重的依赖,用于获取子应用的HTML和JS,同时对HTML和JS进行了各自的处理,以便于子应用在父应用中加载。 import-html-entry主要是实现了以下几个能力拉取url对应的html并且对html进行了一系列的处理拉取上述html中所......
  • 微前端学习笔记(3):前端沙箱之JavaScript的sandbox(沙盒/沙箱)
    sandboxSandbox(沙盒/沙箱)的主要目的是为了安全性,以防止恶意代码或者不受信任的脚本访问敏感资源或干扰其他应用程序的执行。通过在沙盒环境中运行,可以确保代码的行为被限制在一个安全的范围内,防止其超出预期权限进行操作。沙箱(Sandbox)是一种安全机制,目的是让程序运行在一个相对......
  • 【网络安全的神秘世界】JavaScript
    ......
  • 【JavaScript详解】Day02
    JavaScript基础-第2天理解什么是流程控制,知道条件控制的种类并掌握其对应的语法规则,具备利用循环编写简易ATM取款机程序能力运算符语句综合案例运算符算术运算符数字是用来计算的,比如:乘法*、除法/、加法+、减法-等等,所以经常和算术运算符一起。算术运算......
  • 嵌入式Linux系统编程 — 2.1 标准I/O库简介
    目录1标准I/O库简介1.1 标准I/O库简介1.2 标准I/O和文件I/O的区别2 FILE指针3标准I/O库的主要函数简介4 标准输入、标准输出和标准错误4.1标准输入、标准输出和标准错误概念4.2示例程序5 打开文件fopen()5.1 fopen()函数简介5.2 新建文件的权限5.3......
  • 面向互联世界的AGFA027R24C2I2V、AGFA027R24C3E4X、AGFA027R24C2E3V、AGFA027R24C3I3V
    Agilex™FPGA产品组合包含一系列产品,可充分满足每一个技术领域(从边缘到嵌入式系统,再到通信和数据中心)的众多可编辑逻辑需求。在所有这些领域中,数据爆炸导致新产品需求激增,以便移动、处理和存储数据并从中获得可执行的深度分析。这些产品的开发人员需要硬件灵活性来应对不断变化......
  • JavaScript-变量
    JavaScript-1.变量1.js引入方式a.内部脚本:将Js代码定义在script标签中 <script>window.alert("HELLOJS")//将我们指定的入参文案以弹框的形式显示出来document.write("hellojs!")//将入参文案写入到当前的HTML内容中console.log("helloj......
  • JavaScript-数据转换
    JavaScript-数据类型转换和运算符数据类型js中的数据类型分为:原始类型和引用类型,具体有如下类型:数据类型描述number数字(整数、小数、NaN(NotaNumber))string字符串,单双引皆可boolean布尔。true,falsenull对象为空undefined当声明的变量未初始化时......
  • JavaScript-JSON
    JavaScript-JSON1.自定义对象var对象名={属性名1:属性值1,属性名2:属性值2,属性名3:属性值3,函数名称:function(形参列表){}};语法调用属性和函数:对象名.属性名;对象名.函数名();2.json对象JSON对象:JavaScriptObjectNotation,JavaScript对......