[英]How to override a parent event listener when a child element is clicked in Javascript?
如何覆盖aFunction
内部的child.js
?
我希望子事件侦听器在没有aFunction
触发的情况aFunction
触发,并且我无法修改parent.js
。
这有可能吗?
<th class="foo">foo
<span class="bar" data-feather="arrow-down"></span>
</th>
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 <span class="bar" data-feather="arrow-down">Bar</span> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.