微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当你单击表单内部和链接时,如何阻止表单的ajax事件触发?

我有一个像这样的ajax形式……

<form action="/whatever" method="POST" id="blerg">
</form>

这是一个ajax事件绑定到它,就像提交表单时一样:

$("#blerg").bind('ajax:before',function(xhr,settings){
    alert("xxx");
}).bind('ajax:success',data,status){
    alert("xxx");
});

现在,如果我在表单中放置一个链接,如下所示:

<form action="/whatever" method="POST" id="blerg">
    <a id="some_ajax_link" href="#">Some ajax link</a>
</form>

然后将ajax事件附加到该链接上,如下所示:

$("#some_ajax_link").bind('ajax:before',settings){
    alert("yyy");
}).bind('ajax:success',status){
    alert("yyy");
});

当我单击表单内的链接时.它既可以触发表单ajax事件,也可以触发链接事件.

我如何制作它以便链接只是触发它自己的事件而不是它包含的表单事件?

谢谢.

解决方法

你需要在表单和链接中使用.bind()吗?如果您在单击链接时仅使用呼叫?

http://jsfiddle.net/bruno2c/nS5KS/2/

$('#some_ajax_link').click(function(){
    $.ajax({
        type: "POST",/* insert a valid url here */
        url: "",data: { name: "John",location: "Boston" },beforeSend: function (xhr) {
            alert('yyy');
        },success: function (xhr) {
            alert('xxx');
        }
    });
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐