微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 document.delegate 时,在父元素之后触发子元素的 JQuery 事件处理程序

如何解决使用 document.delegate 时,在父元素之后触发子元素的 JQuery 事件处理程序

我使用下面的 html 代码来检查事件冒泡是如何工作的。我使用 $(document).delegate 为子元素添加了事件处理程序,对于父元素和超级元素,我使用 HTML 事件属性来处理点击事件。通常,当单击子元素时,事件应该从子元素冒泡到父元素。因为我使用委托在子元素中添加事件。当我点击子元素时,子元素警报在父元素和超级元素被触发后最后触发。

任何机构都可以帮助如何使用 $documet.delegate 使孩子首先触发

    <activity android:name=".MainActivity"
    android:launchMode="singleTask"
    android:windowSoftInputMode="stateHidden|adjustPan"
    android:resizeableActivity="false">

解决方法

在这种情况下,您无法阻止最后调用子事件,因为这就是事件委托的具体工作方式。它依赖于通过 DOM 从事件目标到绑定委托处理程序的父级的事件冒泡。

另请注意,delegate() 已被弃用。您应该改用 on(),但在本例中它不会产生任何影响。

您可以使用一些变通方法在单个委托事件处理程序中使用 DOM 遍历从子元素检索必要的父元素,但是如何完成以及它带来的任何好处将取决于您的特定用例。

>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。