有一个<label>,里面有一个<a href="#">元素。我希望防止<a>元素的默认行为(即导航),但它应该执行<label>元素的默认行为(即选中其中的复选框)。
测试用例:http://jsfiddle.net/3M6WE/。单击foo可切换复选框。单击bar不会导航,但也不会切换复选框。
如何让<a>元素不导航,但让它切换复选框?我想避免像手动切换复选框这样的黑客。我正在寻找一个“部分”的preventDefault,如果可用的话。
发布于 2012-07-06 14:21:02
您可以触发父元素(标签)的单击:
http://jsfiddle.net/3M6WE/11/
$("a").on("click", function(e) {
e.stopPropagation();
$(this).parent().click();
// do stuff...
e.preventDefault();
});然后执行一些魔术,最后调用preventDefault();
https://stackoverflow.com/questions/11363868
复制相似问题