gpt4 book ai didi

javascript - 在 Javascript 中单击子元素时如何覆盖父事件监听器?

转载 作者:行者123 更新时间:2023-11-30 14:09:58 26 4
gpt4 key购买 nike

如何覆盖 child.js 中的 aFunction

我想让子事件监听器在没有aFunction触发的情况下触发,而且我不能修改parent.js

这可能吗?

index.html:

       <th class="foo">foo &nbsp;&nbsp;

<span class="bar" data-feather="arrow-down"></span>

</th>

parent.js:

       parent = {
init: function() {
parent.aFunction($('.foo'));
},
aFunction: function(element) {
element.on('click', function() {
alert('foo');
});
}, ...

window.onload = parent.init;

child.js:

    $('.bar').on('click', function() {
alert('bar');
});

最佳答案

  • 首先它的 .bar 导致没有名为 bar 的 html 标签
  • > event.stopPropagation() 防止事件在 DOM 树中向上冒泡,从而防止任何父处理程序收到事件通知。

示例

$('.foo').on('click', function() {
alert('foo');
});
$('.bar').on('click', function(e) {
e.stopPropagation();
alert('bar');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="foo">foo &nbsp;&nbsp;
<span class="bar" data-feather="arrow-down">Bar</span>
</div>

关于javascript - 在 Javascript 中单击子元素时如何覆盖父事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54661577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com