Javascript的一些监听事件

简介: Javascript的一些监听事件

JavaScript 提供了许多事件监听功能,使你可以对浏览器中的元素进行操作。下面将演示如何在 HTML 元素上添加一些常见的事件监听器,如点击(click)、鼠标移动(mousemove)和键盘按键(keydown)。

1. 点击事件(Click Event)

html<!DOCTYPE html>
<html>
<body>
 
<p id="demo">点击这里!</p>
 
<script>
// 获取元素
var p = document.getElementById("demo");
 
// 添加点击事件监听器
p.addEventListener("click", function() {
alert("你点击了元素!");
});
</script>
 
</body>
</html>

2. 鼠标移动事件(Mousemove Event)

html<!DOCTYPE html>
<html>
<body>
 
<p id="demo">移动鼠标到这里!</p>
 
<script>
// 获取元素
var p = document.getElementById("demo");
 
// 添加鼠标移动事件监听器
p.addEventListener("mousemove", function(event) {
// 获取鼠标的 x 和 y 坐标
var x = event.clientX;
var y = event.clientY;
 
// 显示坐标
alert("鼠标的 x 坐标: " + x + ", y 坐标: " + y);
});
</script>
 
</body>
</html>

3. 键盘按键事件(Keydown Event)

html<!DOCTYPE html>
<html>
<body>
 
<p id="demo">按下一个键!</p>
 
<script>
// 获取元素
var p = document.getElementById("demo");
 
// 添加键盘按键事件监听器
document.addEventListener("keydown", function(event) {
// 获取按下的键的字符编码
var key = event.keyCode;
 
// 显示字符编码
alert("你按下了键: " + key);
});
</script>
 
</body>
</html>

4. 移除事件监听器

如果你想要移除之前添加的事件监听器,你可以使用 removeEventListener 方法:

html<!DOCTYPE html>
<html>
<body>
 
<p id="demo">点击这里!</p>
 
<button onclick="removeClick()">移除监听器</button>
 
<script>
// 获取元素
var p = document.getElementById("demo");
 
// 添加点击事件监听器
p.addEventListener("click", function() {
alert("你点击了元素!");
});
 
// 定义移除监听器的函数
function removeClick() {
p.removeEventListener("click", function() {
alert("你点击了元素!");
});
}
</script>
 
</body>
</html>

注意:在移除监听器时,你需要传递与添加监听器时相同的函数。如果传递了不同的函数,即使函数体相同,它也不会移除任何监听器。这是因为 JavaScript 中函数的比较基于引用,而不是基于函数体的内容。

目录
相关文章
|
4月前
|
Web App开发 JavaScript 前端开发
javascript onkeydown事件
javascript onkeydown事件
|
6月前
|
JavaScript 前端开发
js事件队列
js事件队列
155 55
|
4月前
|
JavaScript
js两种移除事件的方法
js两种移除事件的方法
57 3
|
26天前
|
JavaScript 前端开发 测试技术
盘点原生JavaScript中直接触发事件的方式
本文全面探讨了原生JavaScript中触发事件的多种方式,包括`dispatchEvent`、`Event`构造函数、`CustomEvent`构造器、直接调用事件处理器以及过时的`createEvent`和`initEvent`方法。通过技术案例分析,如模拟点击事件、派发自定义数据加载事件和实现提示框系统,帮助开发者掌握这些方法在实际开发中的应用,提升灵活性与兼容性。
35 3
|
5月前
|
JavaScript 前端开发
JavaScript 事件
JavaScript 事件
50 2
|
3月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
87 5
|
5月前
|
JavaScript
在 Vue.js 中使用 watch 来监听对象属性的变化
在 Vue.js 中使用 watch 来监听对象属性的变化
|
4月前
|
存储 JavaScript 前端开发
js事件队列
【10月更文挑战第15天】
79 6
|
5月前
|
JavaScript 前端开发
JavaScript HTML DOM 事件
JavaScript HTML DOM 事件
36 5
|
5月前
|
监控 JavaScript 前端开发

热门文章

最新文章

  • 1
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    23
  • 2
    Node.js 中实现多任务下载的并发控制策略
    32
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    25
  • 4
    【JavaScript】深入理解 let、var 和 const
    48
  • 5
    【04】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架二次开发准备工作-以及建立初步后端目录菜单列-优雅草卓伊凡商业项目实战
    44
  • 6
    【03】Java+若依+vue.js技术栈实现钱包积分管理系统项目-若依框架搭建-服务端-后台管理-整体搭建-优雅草卓伊凡商业项目实战
    53
  • 7
    【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
    55
  • 8
    如何通过pm2以cluster模式多进程部署next.js(包括docker下的部署)
    71
  • 9
    【01】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-需求改为思维导图-设计数据库-确定基础架构和设计-优雅草卓伊凡商业项目实战
    55
  • 10
    JavaWeb JavaScript ③ JS的流程控制和函数
    62