[英]Functional jQuery: Custom Events or Functions?
作為函數式編程的新手,我正在研究應用程序的javascript(僅使用jQuery),並想知道jQuery的事件系統如何與其函數式編程范例相關聯。
我有一個setupAccountHeader函數,可以很容易地是一個文檔綁定的事件,例如
$(document).bind('setupAccountHeader', function() {
blah, blah, blah;
});
要么
var setupAccountHeader = function() {
blah, blah, blah;
};
然后,在需要時觸發或調用。
所以我有兩個問題:
1)函數式jQuery首選哪種樣式,或者這純粹是個人風格/風格的問題? 大圖架構的含義如何?
2)是否有任何功能強大的jQuery資源? 我覺得這是John Resig的意圖,但是我在信息或指南中找不到太多的實現方式。
關於第二種樣式的好處是,它將以其名稱顯示在調試器調用堆棧中,而不是“ anonymous”,我發現它會有所幫助。
您可以通過以下方法以及jQuery的添加事件機制(如Elzo所述)實現上述目標:
$(document).bind('setupAccountHeader', setupAccountHeader);
更新
如果您綁定事件並利用標准化事件系統的優勢,則可以將第一個版本用作常規版本(模糊,聚焦,加載,調整大小,滾動,卸載,卸載前,單擊,dblclick,mousedown,mouseup,mousemove,mouseover, mouseout,mouseenter,mouseleave,更改,選擇,提交,keydown,keypress,keyup,error)或您的自定義事件。
它們實際上並不相似。 為了與第二篇類似,您必須附加文檔以記錄一些事件。 嘗試取消他們的想法。
// first version
$(document).unbind('setupAccountHeader'); // will cancel the binding of some action
// second version
setupAccountHeader = null; // will just cancel a variable
另一個版本只是一個閉包,您可以在JavaScript中的任何地方使用它,在這種情況下也可以使用。 沒有上下文,它沒有任何特定的含義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.