jquery自定义事件返回值

我想了解更多有关jquery自定义事件的知识,所以我已经制作了这个简单的代码来进行测试:

   Jquery custom events   $(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"); }); });    link1 
result

我的问题是:在beforesend函数中,如果触发的自定义事件的结果为false但是不工作,我想中止ajax请求,我缺少什么?

编辑:请不要专注于beforesendfunction。 我真正想要的是如何将自定义事件结果(例如true或false)返回到调用事件的位置(在这种情况下,在发送函数之前)。 正如我所说,这只是样板代码。 不是真实世界的项目。

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

请在这里查看beforesend ajax事件处理程序并尝试http://api.jquery.com/jQuery.ajax/

最有可能你的问题在于beforesend函数。

Interesting Posts