我有興趣知道何時應該使用綁定函數以及何時應該在jquery中使用委託函數。他們不執行相同的功能?有什麼不同?什麼時候使用綁定和何時在jQuery中使用委託
0
A
回答
3
您使用bind
(或更好,但on
,爲bind
已經過時;通過@Yoshi說明)當你有幾個,現有要綁定事件監聽器元素。您可以使用delegate
,當你要處理還不存在的元素(例如,它們是動態生成的,你不希望處理程序綁定到每個新建的元素,但他們都有一個共同的父母,你可以把委託上)或者當你用一個共同的父代處理大量元素上的事件時(這對於父代表比每個元素上的個別處理程序更有效)。
DOM事件泡沫了DOM層次,所以當你點擊一個元素onclick
處理該元素被觸發,那麼其母公司,那麼它的母公司,等等(處理程序,除非處理器呼籲stopPropagation
當您使用bind
/on
時,您將處理程序附加到要處理的特定元素,並直接由您設置的目標觸發;當您使用delegate
時,一個jQuery內部處理程序被附加到你指定的元素上,並且它捕捉到它在冒泡鏈上的事件; jQuery然後檢查實際目標(這是處理程序所連接的元素的子元素)是否匹配選擇器已經指定了委派,如果它被調用(它被稱爲如果你的實際處理程序是附加到目標元素而不是父元素; @shannon指出)。
相關問題
- 1. 什麼時候異步委託使用回調模式?
- 2. 什麼時候使用__proto__和什麼時候使用原型
- 3. 什麼時候使用Ruby和什麼時候使用PHP
- 4. 什麼時候在Web應用程序中使用委託類型有用
- 5. 什麼時候保留一個「委託」
- 6. 什麼時候在iOS中調用委託設置器?
- 7. 什麼時候使用for-each和什麼時候在xslt中使用apply-templates?
- 8. 綁定jQuery插件時使用委託目標
- 9. UITextView委託如何知道什麼時候調用textViewDidEndEditing
- 10. 什麼時候使用::和何時使用文檔中的#
- 11. 什麼時候應該使用AWS,什麼時候不使用
- 12. intn_t什麼時候使用它,什麼時候不使用
- 13. 什麼時候使用ByteString,什麼時候不使用?
- 14. WCF綁定,什麼時候使用什麼
- 15. 使用hasClass()和jQuery委託?
- 16. 在TypeScript中,什麼時候使用「let」,什麼時候使用「const」?
- 17. 爲什麼在ruby中使用委託
- 18. 什麼時候和Swing一起使用AWT,什麼時候不使用?
- 19. 什麼時候使用適配器和什麼時候使用inflater
- 20. 什麼時候使用信號和插槽,什麼時候不使用
- 21. 什麼時候使用IList和何時使用列表
- 22. 什麼時候使用抽象calss和何時使用接口
- 23. 何時使用接口和什麼時候使用抽象類
- 24. 什麼時候使用socket.io和何時使用ajax
- 25. 什麼時候停止UIViewController接收委託調用
- 26. 什麼線程在使用iPhone CoreLocation框架時調用委託?
- 27. 什麼時候應該使用async/await,什麼時候不用?
- 28. 什麼時候使用sIFR?
- 29. 什麼時候使用MessageDigest.reset()
- 30. 什麼時候使用VK_IMAGE_LAYOUT_GENERAL
甲注意,['on'](http://api.jquery.com/on/)現在優選的前兩種方法將是很好。 – Yoshi
注意委託應用於父元素,但該事件被稱爲*好像*它是觸發它的子元素。還要注意,對於委託人,您必須確保在您採取行動之前,您感興趣的元素的後代不僅不會吃掉該事件,而且還要確保該元素與委託人所應用的祖先之間的任何元素。 – shannon
@Yoshi爲什麼比其他兩種方法更受歡迎? – lakesh