[問題] jquery $.fn 綁function一問

看板Ajax作者 (鞭策自己社清流夜靈)時間14年前 (2011/10/18 02:11), 編輯推噓2(202)
留言4則, 1人參與, 最新討論串1/1
我有一個客製的ajax script, 目標是希望能把.ajax裡的success用特定的function來取代 請問各位前輩有辦法這樣寫嗎? $.fn.myajax = function (success_callback) { try { $.ajax({ type: "POST", contentType: "application/json", url: "/Webservices/Template/Ver1Tool.asmx/GetClientPages", dataType: "json", success: success_callback }); } catch (e) { } return this; } $(selector).myajax(function(data){ // callback action }); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 66.122.205.38

10/18 17:20, , 1F
你的ajax並沒有用到selector 所以並不需要加入prototype
10/18 17:20, 1F

10/18 17:22, , 2F
你可以直接extend jQuery object就可以瞜
10/18 17:22, 2F
應該說我的selector在吃到回傳的data之後會做一些更新動作 不過我已經找到解法了 $.fn.myajax = function (success_callback) { var control = this; //確定待會success function是在原本呼叫物件的scope try { $.ajax({ type: "POST", contentType: "application/json", url: "/Webservices/Template/Ver1Tool.asmx/GetClientPages", dataType: "json", success: function(data){ success_callback.call(control,data); } }); } catch (e) { } return this; } $('.update_area').myajax(function(data){ $(this).html(data); }); 嗯... 這樣一來大概就可以做到我想要做的事這樣 :P ※ 編輯: nightspirit 來自: 66.122.205.38 (10/19 01:29)

10/19 12:16, , 3F
那這樣的確OK 也比較方便
10/19 12:16, 3F

10/19 12:18, , 4F
而那個context裡的this已經是jQuery object了 不用$也ok喔
10/19 12:18, 4F
文章代碼(AID): #1Ed6_GRk (Ajax)
文章代碼(AID): #1Ed6_GRk (Ajax)