我有一个包含链接的div,当我点击容器时,我有一些AJAX功能,但我在div中也有一个链接,我希望它作为普通链接起作用,而不是触发点击处理程序。
<div class="box">
Lorem ipsum dolor sit amet...
<a href="/actions/something/">Edit</a>
</div>
$('.box').on('click', function() {
$.ajax({
...
});
});
我将处理程序附加到容器中的所有其他文本,但如果我单击框背景,则不会触发处理程序。
答案 0 :(得分:0)
您可以检测$('.box').on('click', function(e) {
if (e.target.tagName !== 'A') {
$.ajax({
// ...
});
}
});
事件处理程序中的被点击元素,然后运行所需的任何逻辑:
a
或者您也可以在.box
元素上放置一个单独的事件处理程序,以阻止事件传播到$('.box a').click(function(e) {
e.stopPropagation();
});
:
{{1}}