jquery自定义事件返回值

jquery自定义事件返回值,jquery,return,custom-events,Jquery,Return,Custom Events,我试图了解更多关于jquery自定义事件的信息,因此我编写了以下简单代码来进行测试: <!DOCTYPE html> <html> <head> <title>Jquery custom events</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></sc

我试图了解更多关于jquery自定义事件的信息,因此我编写了以下简单代码来进行测试:

<!DOCTYPE html>
<html>
    <head>
        <title>Jquery custom events</title>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script>
            $(function(){
                $('#link1').click(function(){
                    var that = $(this);
                    $.ajax({
                        url: "http://localhost/jquery/index.html",

                        beforeSend: function(event){ // if returned false, stops ajax request
                           return that.trigger('ajax:beforesend',[{p1: '1'},{p2: '2'}]);

                        },
                        success: function(){
                            that.trigger('ajax:success');
                        },
                        error: function(){
                        }
                    });

                    return false;
                });

                $('#link1').bind('ajax:beforesend',function(e,data,data2){
                    alert("success"+data2.p2);
                    return false;
                });

                $('#link1').bind('ajax:success',function(e){
                    alert("success");

                });
            });
        </script>
    </head>

    <body>
        <a id="link1">link1</a>

        <div id="box" style="width:500px;height:150px;background-color: gray;margin-top: 50px;">
            result
        </div>
    </body>

</html>

Jquery自定义事件
$(函数(){
$('#link1')。单击(函数(){
var,该值=$(此值);
$.ajax({
url:“http://localhost/jquery/index.html",
beforeSend:function(event){//如果返回false,则停止ajax请求
返回该.trigger('ajax:beforesend',[{p1:'1'},{p2:'2'}]);
},
成功:函数(){
trigger('ajax:success');
},
错误:函数(){
}
});
返回false;
});
$('#link1').bind('ajax:beforesend',函数(e,data,data2){
警报(“成功”+data2.p2);
返回false;
});
$('#link1').bind('ajax:success',函数(e){
警惕(“成功”);
});
});
链接1
结果
我的问题是:在beforesend函数中,如果触发的自定义事件的结果为false但不起作用,我想中止ajax请求, 我错过了什么


编辑:请不要把重点放在发送前功能上。我真正想要的是如何将自定义事件结果(例如true或false)返回到调用事件的位置(在本例中是在send函数之前)。正如我所说,这只是样板代码。不是一个真实的项目。

beforeSend是一个Ajax事件。在beforeSend函数中返回false将取消请求。从jQuery1.5开始,无论请求的类型如何,都将调用beforeSend选项

请检查此处的beforesend ajax事件处理程序,然后重试


您的问题很可能存在于
beforesend
功能中

为什么不先检查自定义事件的结果&如果是真的,那么启动ajax请求..根据我的经验,
beforesend
很少需要。sha404,如何检查自定义事件的结果?