我想用一種新的方法來擴展$.Deferred
,它應該有一個類似於Deferred.fail()
的簽名。這樣做的最好方法是什麼?
0
A
回答
2
找到了一個方法來做到這一點。
我重寫$ .Deferred與調用的基礎功能,延長它的新方法返回對象的新功能:
$._Deferred = $.Deferred;
$.Deferred = function (param) {
var deferredToExtend = $._Deferred(param);
deferredToExtend.test = function (param) {
var deferred = $.Deferred();
deferredToExtend.always(deferred.resolve.bind(deferred, param));
return deferred.promise();
};
return deferredToExtend;
};
這裏是jsfiddle
+0
如果鏈接到'.then','.test'似乎返回'undefined'?見http://jsfiddle.net/9c1f5rmj/10/;另請參閱http://stackoverflow.com/questions/30719454/is-it-possible-to-add-methods-to-jquerys-promise-object,http://stackoverflow.com/questions/30746979/delay-for- jQuery的承諾 – guest271314
相關問題
- 1. 創建並擴展一個jQuery插件
- 2. 擴展一個jQuery插件
- 3. 創建一個擴展另一個PHP擴展的PHP擴展?
- 4. 學習和擴展一個jQuery插件
- 5. 如何創建一個擴展功能
- 6. 如何創建一個jQuery插件類
- 7. CakePHP,創建可擴展的插件
- 8. 創建一個jQuery插件
- 9. 如何擴展一個jQuery插件的選項與數組
- 10. 擴展一個rails插件
- 11. 如何創建擴展jQuery函數
- 12. 如何創建一個使用另一個jQuery插件的jQuery插件?
- 13. 如何擴展jQuery手風琴插件
- 14. 如何從另一個覆蓋方法擴展jquery插件?
- 15. 創建一個插件來擴展Qt應用程序
- 16. 如何創建Devise擴展?
- 17. 在Yii中創建一個擴展
- 18. 如何創建Dreamweaver擴展?
- 19. 如何創建Microsoft Outlook編碼的UI擴展插件
- 20. 如何用Bubble按鈕(浮動屬性)創建一個Chrome插件/擴展?
- 21. 擴展一個jquery插件或在基礎插件之上構建mixins?
- 22. 擴展抽象jQuery插件
- 23. 動態擴展jQuery插件
- 24. 擴展picEdit jquery插件
- 25. 如何創建擴展MKMapView
- 26. 如何創建jinja2擴展?
- 27. 創建IE擴展
- 28. 創建一個擴展的用戶簡
- 29. 創建一個小的jQuery插件
- 30. 如何擴展插件?
因爲遞延是一個對象而不是一個小部件,你可以用它來擴展它,Deffered.prototype.newFunc = function(){} –
http://codereview.stackexchange.com/questions/15743/custom-function-extending-jquery-deferred –
@Dan Kuida你的建議似乎並沒有工作:http://jsfiddle.net/alexarg/9c1f5rmj/ –