容器上的单击处理程序的正常链接功能

时间:2017-05-16 09:02:41

标签: javascript jquery onclick

我有一个包含链接的div,当我点击容器时,我有一些AJAX功能,但我在div中也有一个链接,我希望它作为普通链接起作用,而不是触发点击处理程序。

<div class="box">
    Lorem ipsum dolor sit amet...
    <a href="/actions/something/">Edit</a>
</div>

$('.box').on('click', function() {
    $.ajax({
        ...
    });
});

我将处理程序附加到容器中的所有其他文本,但如果我单击框背景,则不会触发处理程序。

1 个答案:

答案 0 :(得分:0)

您可以检测$('.box').on('click', function(e) { if (e.target.tagName !== 'A') { $.ajax({ // ... }); } }); 事件处理程序中的被点击元素,然后运行所需的任何逻辑:

a

或者您也可以在.box元素上放置一个单独的事件处理程序,以阻止事件传播到$('.box a').click(function(e) { e.stopPropagation(); });

{{1}}