我喜歡jQuery在使用其「綁定」方法時包裝事件的方式。然而,設置綁定很尷尬。有什麼方法可以將html的易用性(例如onKeyPress="foo(event)"
)與jQuery獨立於瀏覽器的事件處理優點結合起來嗎?使用html附加jquery事件處理程序?
回答
您的意思是?
function foo(event) {
alert(event.target);
}
$('.someSelector').keypress(foo);
無論是在HTML或者你需要創建一個功能foo
JavaScript的方式,所以也許這是更接近你所期待的。
我不確定你對jQuery的處理程序綁定感到尷尬。
如果HTML元素沒有類或ID,那麼「someSelector」是什麼?難道不得不聲明一個元素爲HTML,然後返回並以某種方式將其定位到DOM中,並將一個事件處理程序附加到文件中的不同位置,而不是僅僅聲明元素及其事件處理程序時間? – JoelFan 2010-11-16 18:12:57
@JoelFan - jQuery完全是從DOM中選擇,然後執行操作。如果元素沒有一致的標識符,並且你不希望爲了選擇的目的而添加一個標識符,那麼我想我不得不問一下你所做的jQuery處理程序綁定是什麼,這足以說服你計劃你的標記以適應DOM選擇。或者我錯過了你的觀點? – user113716 2010-11-16 18:27:27
我喜歡jQuery獨立於瀏覽器的「包裝器」,它爲您提供事件處理程序... http://api.jquery.com/category/events/event-object/...我不同意jQuery是所有關於從DOM中選擇......這是關於獨立於瀏覽器的,更簡單的客戶端腳本......終於...我不是「計劃」我的標記......我正在修復沒有開發的現有標記jQuery – JoelFan 2010-11-16 19:02:38
你可能不想這樣做。
您可能需要閱讀event delegation in JavaScript,這些jquery綁定方法可以爲您處理整齊。
這裏的亮點:
事件代表團有幾個好處 到Web 應用程序的性能:
更少的功能來管理。佔用內存少 。您的 代碼與DOM之間的關係更少。當 通過innerHTML改變DOM時,不需要擔心 關於移除事件處理程序。
你最好不要使用jQuery的結合傭工像$ whatever.click(FN)等
其實here is another question on SO引用我這樣做,也可以幫助同一篇文章。
- 1. 附加到事件處理程序
- 2. 附加的事件處理程序
- 3. HTML事件處理程序與React事件處理程序
- 4. jQuery確認()在附加的事件處理程序
- 5. jQuery附加按鈕單擊事件處理程序不工作
- 6. jQuery - 爲linkButton附加事件處理程序
- 7. jQuery點擊事件處理程序附加到DOM元素
- 8. 將多個事件的JQuery委託附加到處理程序
- 9. 使用jQuery附加HTML w/click事件
- 10. jQuery事件處理程序
- 11. 將事件處理程序附加到Com事件:InvalidOperationException(S7-PLCSIM)
- 12. 將事件處理程序附加到事件OnInit或OnLoad上
- 13. 如何使用反射將事件處理程序附加到事件?
- 14. 動態添加jQuery的事件處理程序以動態HTML
- 15. 附着事件處理程序
- 16. 在現有處理程序之前附加我的事件處理程序
- 17. 調用jQuery的事件處理程序
- 18. 附加事件處理程序動態添加元素
- 19. JQuery清理事件處理程序
- 20. 單擊事件處理程序,附jQuery,不會觸發
- 21. 添加iPhone OS事件的jQuery樣式事件處理程序
- 22. 發行附加的onClick處理程序使用jQuery
- 23. 如何使用TypeScript將拖動事件處理程序附加到React組件
- 24. 使用新的處理程序附加事件處理程序vs直接分配
- 25. 附加事件處理程序到動態創建TreeViewItems
- 26. 附加事件處理程序優化javascript
- 27. 如何將變更事件處理程序附加到變量?
- 28. 將附加信息傳遞到事件處理程序中
- 29. ZF2在事件處理程序之間共享數據(附加)
- 30. 將JavaScript事件處理程序附加到Zend_Form_Element
到目前爲止,它看起來像答案是「否」:) – JoelFan 2010-11-16 19:26:07
這可能是這種情況,取決於您對* ease *的看法。由於jQuery(作爲JavaScript)完全在JavaScript端操作,所以對HTML端的唯一訪問就是DOM API提供的橋樑。當然,HTML提供的橋樑是inline'on [event]'屬性。所以你真的看着這個或那個。 – user113716 2010-11-16 19:37:12
@patrick,sux2bme – JoelFan 2010-11-16 19:39:00