首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >一篇文章带你了解JavaScript 事件监听

一篇文章带你了解JavaScript 事件监听

作者头像
前端进阶者
发布2021-04-13 10:47:56
发布2021-04-13 10:47:56
1.8K00
代码可运行
举报
文章被收录于专栏:前端进阶交流前端进阶交流
运行总次数:0
代码可运行

大家好,我是前端进阶者。JavaScript事件处理程序的最新功能是事件监听。事件监听监视元素上的事件。

一、addEventListener()方法

addEventListener()方法将事件处理程序附加到指定的元素。

可以重写随机颜色,如下所示:

例:

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html>
    <title>项目(nhooo.com)</title>

    <body style="background-color: aqua;">

        <p>单击下面的按钮以更改文档的背景颜色:</p>

        <button>点我改变背景颜色</button>

        <script>
            let btn = document.querySelector("button");
            btn.addEventListener("click", bgChange);

            function bgChange() {
                let color = "rgb(" + random(255) + "," + random(255) + "," + random(255) + ")";
                document.body.style.backgroundColor = color;
            }

            function random(number) {
                return Math.floor(Math.random() * (number + 1));
            }
</script>

    </body>
</html>

将addEventListener()方法附加到按钮上。addEventListener()接受两个必填参数-要监听的事件和监听器回调函数。

1. 语法
代码语言:javascript
代码运行次数:0
运行
复制
element.addEventListener(event, listener, useCapture)

代码解析:

第一个参数是事件的类型(例如“ click”或“ mousemove”)。

第二个参数是事件发生时我们要调用的监听函数。

第三个参数是一个布尔值,指定是使用事件捕获。此参数是可选的。

注意:

不要为事件使用“ on”前缀。使用“ click”代替“ onclick”。

2. 将事件监听添加到元素

将所有代码放入addEventListener()方法中的匿名函数中是非常合适的,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
<script>
let para = document.querySelector("#para");

para.addEventListener("click", function() {
this.innerHTML = "Hello world";
});
</script>

还可以引用外部“命名”函数:

示例

代码语言:javascript
代码运行次数:0
运行
复制
<script>
let para = document.querySelector("#para");
para.addEventListener("click", changeText);

function changeText() {
para.innerHTML = "Hello world";
}
</script>
3. 将多个事件监听添加到同一元素

事件监听似乎与事件处理程序属性非常相似,但是它们有一些优点。我们可以在同一元素上设置多个事件监听,如以下示例所示:

代码语言:javascript
代码运行次数:0
运行
复制
<script>
document.querySelector("button").addEventListener("click", myFunc);
document.querySelector("button").addEventListener("click", anotherFunc);

function myFunc() {
document.body.style.backgroundColor = "coral"; //改变背景颜色
}

function anotherFunc() {
document.body.style.fontSize = "2rem"; //改变字体大小
}
</script>

可以向元素添加不同类型的事件:

示例

4. 传递参数

传递参数值时,请使用匿名函数,该函数使用参数调用指定的函数:

代码语言:javascript
代码运行次数:0
运行
复制
var btn = document.querySelector("button");
   btn.addEventListener("click", function() {
   myFunc(x, y);
});
5. 将事件监听添加到Window对象

此外,可以addEventListener()在文档和窗口对象上使用。

本示例使用以下addEventListener()方法将click事件附加到文档:

代码语言:javascript
代码运行次数:0
运行
复制
document.addEventListener("click", function() {
alert("Hello World!!!");
});

使用该addEventListener()方法将调整大小(resize)事件附加到窗口:

代码语言:javascript
代码运行次数:0
运行
复制
window.addEventListener("resize", function() {
box.innerHTML = Math.random();
});

当前,事件监听是处理JavaScript中事件的最常见和首选方式。

二、removeEventListener()方法

可以使用该removeEventListener()方法从元素中删除一个或所有事件。

语法:

代码语言:javascript
代码运行次数:0
运行
复制
var box = document.getElementById("para");

 // Attach an event handler to a P element with id="para"
 box.addEventListener("mousemove", myFunc);

 // Remove the event handler from a P element with id="para"
 box.removeEventListener("mousemove", myFunc);

案例:

代码语言:javascript
代码运行次数:0
运行
复制
<script>
      // 使用以下代码将事件处理程序附加到 id="para"
      var box = document.getElementById("para");
      box.addEventListener("mousemove", myFunc);

      function myFunc() {
        box.innerHTML = Math.random();
      }

      function removeHandler() {
        //从id="para"的P元素中删除事件处理程序
        box.removeEventListener("mousemove", myFunc);
      }
</script>

第一个参数是事件的类型(例如“ click”或“ mousemove”)。

第二个参数是事件发生时我们要调用的函数。

三、总结

本文基于JavaScript基础,介绍了如何进行JavaScript事件监听 ,从最基本的语法开始,如何将事件监听添加到元素,如何进行参数传递,如何添加到Window对象等等,都做了详细的讲解。通过用丰富的案例帮助大家更好理解。

我是前端进阶者。使用JavaScript 语言,方便大家更好理解,希望对大家的学习有帮助。

------------------- End -------------------

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端进阶学习交流 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、addEventListener()方法
    • 1. 语法
    • 2. 将事件监听添加到元素
    • 3. 将多个事件监听添加到同一元素
    • 4. 传递参数
    • 5. 将事件监听添加到Window对象
  • 二、removeEventListener()方法
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档