当前位置: 首页 > article >正文

JavaScript的事件介绍

在 JavaScript 中,事件是当用户与网页进行交互时发生的动作或行为。每个事件都有相应的事件处理程序(也称为事件监听器或事件回调),当事件发生时,这些处理程序会被触发并执行。

下面是一些常见的事件类型以及如何使用 JavaScript 代码来处理这些事件的详细示例:

1. 鼠标事件
点击事件 (click)

javascript// 获取元素
var button = document.getElementById('myButton');
 
// 添加点击事件监听器
button.addEventListener('click', function() {
alert('按钮被点击了!');
});

鼠标悬停事件 (mouseover 和 mouseout)

javascriptvar tooltip = document.getElementById('tooltip');
var element = document.getElementById('myElement');
 
// 当鼠标悬停在元素上时显示提示
element.addEventListener('mouseover', function() {
tooltip.style.display = 'block';
});
 
// 当鼠标离开元素时隐藏提示
element.addEventListener('mouseout', function() {
tooltip.style.display = 'none';
});
2. 键盘事件

按键按下事件 (keydown)

javascriptdocument.addEventListener('keydown', function(event) {
if (event.key === 'Enter') {
alert('你按下了 Enter 键!');
}
});
3. 表单事件

输入框值改变事件 (input)

javascriptvar inputField = document.getElementById('myInput');
 
// 当输入框的值发生变化时触发
inputField.addEventListener('input', function() {
console.log('输入框的值已经改变:', inputField.value);
});

表单提交事件 (submit)

javascriptvar form = document.getElementById('myForm');
 
// 阻止表单默认的提交行为,改为使用 AJAX 提交
form.addEventListener('submit', function(event) {
event.preventDefault();
// 在这里执行 AJAX 提交或其他逻辑
console.log('表单提交被阻止了!');
});
4. 窗口和文档事件

页面加载完成事件 (load)

javascriptwindow.addEventListener('load', function() {
// 当页面所有资源(如图片、样式表等)都加载完成后执行
console.log('页面加载完成!');
});

窗口大小改变事件 (resize)

javascriptwindow.addEventListener('resize', function() {
// 当窗口大小改变时执行
console.log('窗口大小已改变:', window.innerWidth, window.innerHeight);
});
5. 触摸事件

触摸开始事件 (touchstart)

javascriptvar touchElement = document.getElementById('touchable');
 
touchElement.addEventListener('touchstart', function(event) {
// 当触摸开始时执行
console.log('触摸开始:', event.touches.length, '个触点');
});
6. 移除事件监听
javascript// 假设我们有一个之前添加的事件监听器
button.addEventListener('click', function() {
console.log('按钮被点击了(旧监听器)!');
});
 
// 移除这个监听器
button.removeEventListener('click', function() {
console.log('按钮被点击了(旧监听器)!');
});
 
// 添加一个新的监听器
button.addEventListener('click', function() {
console.log('按钮被点击了(新监听器)!');
});

注意:在 removeEventListener 中,要移除的函数引用必须与当初添加监听器时完全一致。如果是匿名函数,则无法被移除,因为它们每次调用时都会创建一个新的函数实例。因此,通常建议将事件处理函数定义为具名函数,以便后续可以引用和移除它们。

这些示例展示了如何在 JavaScript 中使用 addEventListener 和 removeEventListener 方法来处理不同的事件。事件处理是 Web 开发中非常重要的一部分,它使得网页能够与用户进行交互,并提供了丰富的用户体验。


http://www.kler.cn/news/303656.html

相关文章:

  • MySQL_SQLYog简介、下载及安装(超详细)
  • 【深度学习】PyTorch 的发展历程 截止 2.1.0
  • 茅台镇酱香型白酒你知道多少?
  • MongoDB日志级别
  • 如何在本地Windows运行hadoop
  • conda 安装tensorflow一些命令
  • 人工智能在鼻咽癌诊断和治疗中的应用进展、当前挑战和未来前景|文献精析·24-09-13
  • 苹果CMS海洋CMS那个更容易被百度收录?苹果CMS站群
  • 输电线路在线监测摄像头:规格(一)
  • 【已解决】请教 “Sa-Token 集成 xxl-job,报错:非 web 上下文无法获取 HttpServletRequest” 如何解决
  • oracle select字段有子查询会每次执行子查询吗
  • 波克城市 x NebulaGraph|高效数据血缘系统在游戏领域的构建实战
  • Java中各种数据结构如何使用stream流
  • Xcode报错:Return from initializer without initializing all stored properties
  • Java-乐观锁和悲观锁的理解及实现方式
  • Android 亮度范围定制
  • uniapp tabBar不显示
  • 利用python处理线性规划问题
  • 宠物毛发对人体有什么危害?宠物空气净化器小米、希喂、352对比实测
  • 电信网络携手大模型:AI赋能网络运维的新范式
  • 合宙Air201资产定位模组LuatOS:开机容易关机难?PWRKEY控制来帮忙
  • 【STM8】STM8固件库的坑(GPIO_ReadInputDataBit)
  • 如何编译OpenHarmony SDK API
  • ‘“node“‘ �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���
  • 体育场座位【python实现】
  • 谷歌-BERT-“bert-base-chinese ”
  • 网络运维故障处理
  • Java | Leetcode Java题解之第396题旋转函数
  • 开源项目低代码表单FormCreate中通过接口加载远程数据选项
  • MySQL:undo log