Ebb*_*bbs 0 html jquery stoppropagation
我有点困惑.我列出了名称旁边带有复选框的名称.列表是在向后端发布后动态构建的.
问题是每当我点击复选框时立即取消选中它.我之所以知道这一点,是因为如果在事件中插入警报,则会实际选中该复选框,直到警报被取消.
这是我的代码:
$("#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;
});
Run Code Online (Sandbox Code Playgroud)
事实上,我在listitem中有链接,我需要能够遵循.如果取出导航到链接的部分,则复选框功能正常.
这就是典型的名称列表:
<ul id="NamesList">
<li id="1">
<input class="checkbox" type="checkbox" />
<a href="/some/link/somewhere/1">John Smith</a>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
$("#NamesList").on("click", "input[type='checkbox']", function (e) {
CheckboxClicked();
e.stopPropagation();
})
Run Code Online (Sandbox Code Playgroud)
换成return false;了e.stopPropagation();.return false相当于e.preventDefault(); e.stopPropagation();但是,你不想阻止默认:)
工作小提琴:http://jsfiddle.net/wpx6A/
| 归档时间: |
|
| 查看次数: |
1073 次 |
| 最近记录: |