我已經在JQuery中啓動了項目。我在項目中使用了很多「點擊」和「onchange」事件。最初它沒問題(當沒有更多的代碼行時),但是在500-600行代碼之後,我的源代碼變得非常混亂,因爲我的代碼中有很多點擊和onchange事件。我不知道如何處理這個問題,我怎樣才能正確,高效地使用click和onchange事件而不是雜亂?這種項目有沒有框架或特殊模式?提前致謝。JQuery - 正確高效地使用事件
0
A
回答
1
當附加了很多事件處理程序時,首先,您應該讓您的代碼易於理解和閱讀。按照DRY原理。您不需要重複jQuery選擇器將事件附加到其中:
$(".divname").on({
mouseenter: function() {
// Handle mouseenter...
},
mouseleave: function() {
// Handle mouseleave...
},
click: function() {
// Handle click...
}
}, "a");
接下來,請關注任何功能重複。例如,當幾個按鈕/鏈接執行相同或接近相同的動作,這個動作/功能應被宣佈非anonymousely受到重用:
function editTableColumn() { ... }
$("#element1, #element2").on("click", editTableColumn);
或區別PARAM:
function editTableColumn(param1) { if (param1 ==) ... }
$("#element1").on("click", function() {
var param1 = "one";
editTableColumn(param1);
});
$("#element2").on("click", function() {
var param1 = "two";
editTableColumn(param1);
});
jQuery中同樣的想法可以用自定義插件被完成:http://learn.jquery.com/plugins/basic-plugin-creation/
如果DOM操作都嚴重與JS-S混合tructure,你只需要一種僞類或構造器的功能...
其實我的建議是使用JS框架包換了很多互動的:EmberJS,AngularJS等使用持續,例如,即使沒有jQuery,你也可以完成你的任務(顯示/隱藏/排序數據和進行其他DOM操作),代碼更少。 在這裏,你可以找到幾個角度默認orderBy過濾器的例子:https://docs.angularjs.org/api/ng/filter/orderBy
只是在決定時從網絡上取幾個例子。
+0
謝謝@Sergey,我認爲這是非常有幫助的答案 – 2014-11-24 14:26:11
相關問題
- 1. 高效地關聯事件
- 2. 如何正確有效地使用WorkbookBeforeClose事件?
- 3. 正確使用jQuery效果
- 4. 製作jQuery代碼更正確/高效
- 5. 如何正確高效地使用Eloquent加載新記錄
- 6. 使用KeyDown事件正確
- 7. 高效使用SQL事務
- 8. CSS - 高效地使用類
- 9. 在jQuery上正確使用地圖
- 10. 不正確的jQuery高度
- 11. jQuery事件不正確的元素
- 12. 未正確觸發jQuery更改事件
- 13. 正確使用版本1.7.1中的jQuery Mobile事件處理
- 14. 取消按鈕不能正確使用jQuery加載事件
- 15. 使用jQuery在日曆中正確顯示多日事件?
- 16. 如何在jquery中正確使用mousewheel和滾動事件?
- 17. 正確的頁面事件使用Jquery Mobile修改CSS
- 18. keydown事件不正確觸發使用jQuery觸發
- 19. 按鍵事件沒有正確Safari和Firefox中使用jQuery 1.3
- 20. 正確高效地執行後臺加載
- 21. 如何高效,正確地在對象中插入對象
- 22. 高效地確定集合的邊界
- 23. 高效地確定3D盒的交集
- 24. 如何使用jquery正確地移除div中的uploadify控件
- 25. 如何正確使用繼承,同時保持高效?
- 26. 正確和高效的編程風格
- 27. 使用高效的文件
- 28. 正確綁定javascript事件
- 29. 高效的JavaScript事件追蹤
- 30. 使用正則表達式高效地解析/ lex令牌
你能通過點擊和改變事件給我一些代碼樣本嗎? – 2014-11-24 12:40:40
問:頁面上點擊和onchange事件的正確數量是多少?答:然而,它需要很多才能達到所需的功能。如果您現有的代碼正常工作,並且您只想要一些提示來整理它(a),您必須向我們顯示代碼,但(b)這可能更適合http://codereview.stackexchange.com/。 – nnnnnn 2014-11-24 12:43:54
我正在使用點擊事件時,當用戶點擊按鈕或鏈接時必須執行某些操作。例如,編輯表格列,保存更改,更改選擇選項並顯示選定的菜單等。 – 2014-11-24 12:44:21