简体   繁体   English

当在Javascript中单击子元素时,如何覆盖父事件侦听器?

[英]How to override a parent event listener when a child element is clicked in Javascript?

How do I override aFunction inside of child.js ? 如何覆盖aFunction内部的child.js

I want the child event listener to trigger without aFunction triggering, and I can't modify parent.js . 我希望子事件侦听器在没有aFunction触发的情况aFunction触发,并且我无法修改parent.js

Is this even possible? 这有可能吗?

index.html: index.html的:

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

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

        </th>

parent.js: parent.js:

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

         window.onload = parent.init;

child.js: child.js:

    $('.bar').on('click', function() {
      alert('bar');
    });
  • First its .bar cause no html tags called bar 首先,其.bar不会导致称为bar html标签
  • event.stopPropagation() Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. event.stopPropagation() 防止事件使DOM树冒泡,从而防止任何父处理程序收到该事件的通知。

Example

 $('.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> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 单击父项的子项时的事件侦听器 - Event listener for when child of parent is clicked 如何获取被单击的元素的最高父元素,该元素仍然是添加事件侦听器的元素的子元素? - How to get the highest parent element of an element that was clicked on that is still a child of the element that the event listener was added to? 反应-单击子元素时防止父元素上的onMouseDown事件 - React - Prevent onMouseDown event on parent element when a child element is clicked 单击子元素时忽略父 onClick 事件 - Ignore Parent onClick event when Child element is clicked 如何在单击子项时停止为父元素触发onclick事件? - How can I stop an onclick event from firing for parent element when child is clicked? 如何在JavaScript中点击子节点点击事件时删除父节点? - How to delete parent node when child node fire clicked event in JavaScript? 单击子div时如何取消绑定父div的click事件 - how to unbind the click event of parent div when clicked on child div 如何仅在单击子项时触发父项单击事件 - How to ONLY trigger parent click event when a child is clicked Drop over child 会触发 parent 的“drop”事件侦听器。 我想通过特定于子的“drop”覆盖该事件侦听器 - Dropping over child triggers the “drop” event listener of parent . I want to override that event listener by a Child specific “drop” 在JQuery中单击父元素时如何定位每个子元素 - How to target each child element when their parent is clicked in JQuery
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM