【JavaScript入门-30】事件监听器

举报
搞前端的半夏 发表于 2022/05/31 19:31:42 2022/05/31
【摘要】 在前几篇文章中,我们介绍了DOM元素的增删改查,这些只是最基础的知识点!页面上的元素,本身都是带有事件的。例如当他们被单击,双击,悬停,拖动时,就会触发对应的事件!我们可以使用事件监听器来监听这些事情何时发生并对它们做出反应。。请注意我们可以将将事件监听器附加到所有元素以及文档和窗口。例如我们有一个button<button class="btn">点我 !</button>打开 html ...

在前几篇文章中,我们介绍了DOM元素的增删改查,这些只是最基础的知识点!页面上的元素,本身都是带有事件的。例如当他们被单击,双击,悬停,拖动时,就会触发对应的事件!我们可以使用事件监听器来监听这些事情何时发生并对它们做出反应。。请注意我们可以将将事件监听器附加到所有元素以及文档和窗口。

例如我们有一个button

<button class="btn">点我 !</button>

打开 html 文件,应该会看到该按钮,并且当单击它时,什么都不会发生

image-20220531191735531

在给button添加事件侦听器之前,我们需要先获取到这个button。

const btn = document.querySelector('.btn');

接下来,我们将调用addEventListener()来监听这个按钮元素。

事件监听器通常会接受两个参数:

  1. 你想听什么类型的事件
  2. 回调函数

简单说一下回调函数,其实本质上就是一个常规函数,它就是一个用来描述我们将函数作为参数传给另一个函数的名词!这里我们只是传入这个函数,就像是传入一个普通变量。addEventListener然后浏览器会在需要时为我们调用或运行该函数。

传递回调函数的更常见方法之一是作为匿名函数。

  btn.addEventListener('click',function(){
            
})

在上面的示例中,function() { }是我们传递给事件侦听器的第二个参数。在该函数内部,我们可以在点击时做任何我们想做的事情。现在,让我们简单地记录“button 被点击啦”。

btn.addEventListener('click',function(){
            console.log('button 被点击啦')
        })

现在,每次单击该按钮时,都会在控制台中看到该消息。

image-20220531192331210

总结以下,监听元素的步骤:

  1. 获取到元素
  2. addEventListener监听指定事件
  3. 做出动作

上面我们使用的是匿名函数作为回调函数。匿名函数的缺点是我们无法重复使用它。我们想要重复调用,就可以创建一个命名函数并作为参数传递!

function handleClick() {
  console.log("button 被点击啦");
}

btn.addEventListener("click",handleClick);

请注意,我们这里只是将函数的引用作为参数,并不是handleClick().

btn.addEventListener("click",handleClick());

这种写法,其实我们是将handleClick().执行的结果作为参数罢了。这样你无需点击按钮就会出现"button 被点击啦"!

HTML 页面添加另一个按钮。

<button class="btn2" >button2 被点击啦</button>

如果我们想听那个按钮,我们可以添加以下代码👇

btn2.addEventListener('click', handleClick);
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。