键盘点击事件 为什么要写阻止事件冒泡?

键盘点击事件 为什么要写阻止事件冒泡?

键盘点击事件 为什么要写阻止事件冒泡?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2020-03-12 12:16:18

同学你好, a元素可以触发keydown事件。但是有前提条件,必须点击a元素之后,才可以触发a元素的keydown事件。如下示例:

http://img1.sycdn.imooc.com//climg/5e69b7640950c02519880578.jpg

F12打开控制台,直接按下键盘,控制台不会输入任何内容,只有点击a链接后,按下键盘,才会在控制台输出内容。同学可以测试理解下

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

好帮手慕慕子 2020-03-12 12:07:33

同学你好, 对于你的问题解答如下:

  1. 首先,我们要理解stopPropogation的作用是阻止事件冒泡, 事件冒泡就是触发子级事件的同时会触发它先辈元素升上绑定与子级元素相同的事件。

  2. 然后我们再来分析为什么要阻止事件冒泡。 因为这里的a标签和document元素都绑定了onkeydown事件, 如果不阻止事件冒泡, 那么触发a元素该事件的时候, 向上冒泡同时会触发他的先辈元素document的onkeydown事件, 导致点击一下,会执行两次keydown事件, 所以需要添加stopPropgation阻止这种情况哦

如果我的回答帮助到了你, 欢迎采纳 !祝学习愉快~~~

  • 提问者 慕粉1149105846 #1
    但是a元素不会相应keydown事件吧?
    2020-03-12 12:13:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师