子元素的单击事件不会影响父元素的双击事件
在HTML中,一个元素上同时绑定了单击事件和双击事件,当快速双击子元素时,由于事件冒泡,父元素也会触发双击事件。为了防止这种情况,需要阻止子元素的单击事件冒泡到父元素。
解决方案
尝试给子元素添加阻止冒泡、return false等操作不起作用,那是因为单击事件和双击事件不是同一个事件。因此,阻止单击事件冒泡对双击事件没有影响。
解决方法是在子元素上也绑定上双击事件,但是这个双击事件什么都不做,只做阻止双击事件冒泡:
立即学习“前端免费学习笔记(深入)”;
<div @dblclick="changeFullScreen"> // 在子元素上绑定双击事件并阻止双击事件冒泡 <div @click="showPreset($event)" @dbclick.stop="nothingFn"> </div> </div>
nothingFn这个函数什么都不做。
另一种方法是利用事件冒泡的原理,查看事件对象event.target,通过这种方式判断到底是谁触发双击事件,如果是父元素就执行,如果是子元素就不执行。
以上就是HTML 中,子元素单击事件如何不影响父元素的双击事件?的详细内容,更多请关注php中文网其它相关文章!
HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号