我如何防止嵌套列表的单击事件

零以下
<script type="text/javascript" src="/js/jquery1.8.3.js"></script>
<script>
    $(document).ready(function(){
    $("li").has("ul").bind("click",function(e){
        console.log($(this).text());
    });
    });
</script>

<ul>
<li>Fruit
    <ul>
        <li>Apple</li>
        <li>Banana</li>
    </ul>
</li>
</ul>

我如何仅在单击“水果”而不是“苹果”,“香蕉”时绑定点击事件

我希望单击Apple或Banana时不会发生单击事件

请帮我..

寂寞的一天

如已说明的,一种方法是使用event.stopPropagation()我不喜欢这种方法,因为它阻止页面上的任何其他事件处理程序注册该事件。

最好检查事件是否起源于另一个li元素。这样的事情会做:

$("li").has("ul").bind("click",function(e){
    if ($(e.target).closest('li').get(0) !== this) {
        return;
    }

    console.log($(this).text());
});

让我们在这里分解关键点:

  • get e.target,事件起源的元素
  • 用它制作一个jQuery对象
  • 检查该元素是否为li或获取其最接近的li祖先(closest执行此操作)
  • 将其li作为本机DOM元素获取
  • 将其li与绑定事件处理程序的那个进行比较

如果li元素不同,则事件起源于nested li如果它们相同,则不是。

jsFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我如何防止嵌套列表的单击事件

来自分类Dev

如何防止嵌套在另一个也使用 onclick 的元素上的链接上的单击事件?

来自分类Dev

如果通用排序列表中已存在值,我将如何停止按钮单击事件?

来自分类Dev

单击事件嵌套跨度

来自分类Dev

如何防止输入字段角度代码中的单击事件

来自分类Dev

如何使用jQuery防止另一个单击事件中的活动类上的单击事件

来自分类Dev

如何检测片段中的列表视图的单击事件

来自分类Dev

我如何在vuetify数据表的行内将按钮单击事件与行单击事件分开

来自分类Dev

如何防止“嵌套”

来自分类Dev

如何防止jPlayer事件

来自分类Dev

如何从ContextMenuStrip ItemClicked事件中获取我单击的目录?

来自分类Dev

如何使我的onclick事件选择使用Javascript单击的元素的ID?

来自分类Dev

如何使我的方法等待Winforms中的按钮单击事件

来自分类Dev

防止按钮单击激活<tr> onclick事件

来自分类Dev

单击按钮时防止Javascript事件

来自分类Dev

防止Treeview在单击事件时折叠节点

来自分类Dev

当AngularJS中参数值为null时如何防止单击事件?

来自分类Dev

如何防止快速单击两次调用en事件处理程序?

来自分类Dev

当按钮处于焦点状态时,如何防止Enter键触发单击事件

来自分类Dev

在Firefox中单击HTML5视频控件时如何防止事件冒泡

来自分类Dev

如何防止mousemove事件在触摸设备上单击时起作用?

来自分类Dev

在详细信息元素中,如何防止onclick事件单击内容?

来自分类Dev

如何防止快速单击两次调用en事件处理程序?

来自分类Dev

如何防止 jquery 可调整大小的 div 接收调整大小的单击事件

来自分类Dev

在编写游戏时,如何防止脚本越过单击事件 jQuery 分配?

来自分类Dev

使用React Hooks时如何防止事件在嵌套div中起作用

来自分类Dev

在第一次调用完成事件句柄之前,如何防止任何按钮单击事件排队

来自分类Dev

在包装上进行触摸和鼠标拖动事件时,如何防止锚点上的单击事件

来自分类Dev

如何防止对JComboBox的多次单击

Related 相关文章

  1. 1

    我如何防止嵌套列表的单击事件

  2. 2

    如何防止嵌套在另一个也使用 onclick 的元素上的链接上的单击事件?

  3. 3

    如果通用排序列表中已存在值,我将如何停止按钮单击事件?

  4. 4

    单击事件嵌套跨度

  5. 5

    如何防止输入字段角度代码中的单击事件

  6. 6

    如何使用jQuery防止另一个单击事件中的活动类上的单击事件

  7. 7

    如何检测片段中的列表视图的单击事件

  8. 8

    我如何在vuetify数据表的行内将按钮单击事件与行单击事件分开

  9. 9

    如何防止“嵌套”

  10. 10

    如何防止jPlayer事件

  11. 11

    如何从ContextMenuStrip ItemClicked事件中获取我单击的目录?

  12. 12

    如何使我的onclick事件选择使用Javascript单击的元素的ID?

  13. 13

    如何使我的方法等待Winforms中的按钮单击事件

  14. 14

    防止按钮单击激活<tr> onclick事件

  15. 15

    单击按钮时防止Javascript事件

  16. 16

    防止Treeview在单击事件时折叠节点

  17. 17

    当AngularJS中参数值为null时如何防止单击事件?

  18. 18

    如何防止快速单击两次调用en事件处理程序?

  19. 19

    当按钮处于焦点状态时,如何防止Enter键触发单击事件

  20. 20

    在Firefox中单击HTML5视频控件时如何防止事件冒泡

  21. 21

    如何防止mousemove事件在触摸设备上单击时起作用?

  22. 22

    在详细信息元素中,如何防止onclick事件单击内容?

  23. 23

    如何防止快速单击两次调用en事件处理程序?

  24. 24

    如何防止 jquery 可调整大小的 div 接收调整大小的单击事件

  25. 25

    在编写游戏时,如何防止脚本越过单击事件 jQuery 分配?

  26. 26

    使用React Hooks时如何防止事件在嵌套div中起作用

  27. 27

    在第一次调用完成事件句柄之前,如何防止任何按钮单击事件排队

  28. 28

    在包装上进行触摸和鼠标拖动事件时,如何防止锚点上的单击事件

  29. 29

    如何防止对JComboBox的多次单击

热门标签

归档