无法阻止Jquery中事件的传播

 lovely蓝衣13 发布于 2023-02-04 19:52

我有点困惑.我列出了名称旁边带有复选框的名称.列表是在向后端发布后动态构建的.

问题是每当我点击复选框时立即取消选中它.我之所以知道这一点,是因为如果在事件中插入警报,则会实际选中该复选框,直到警报被取消.

这是我的代码:

$("#NamesList").on("click", "input[type='checkbox']", function (e) {
    CheckboxClicked();
    return false;
})
.on("click", "li", function (e) {
    e.preventDefault();
    e.stopPropagation();

    switch (e.target.nodeName) {
         case "A":
             GetPerson(e.target.href)
             break;
         case "LI":
              GetPerson($("a", e.target).attr("href"))
              break;
         default: return false;
     }

     return false;
});

事实上,我在listitem中有链接,我需要能够遵循.如果取出导航到链接的部分,则复选框功能正常.

这就是典型的名称列表:


有任何想法吗?

1 个回答
  • $("#NamesList").on("click", "input[type='checkbox']", function (e) {
        CheckboxClicked();
        e.stopPropagation();
    })
    

    换成return false;e.stopPropagation();.return false相当于e.preventDefault(); e.stopPropagation();但是,你不想阻止默认:)

    工作小提琴:http://jsfiddle.net/wpx6A/

    2023-02-04 19:53 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有