當我使用以下方法來註冊一個處理器click事件現場點擊事件點擊a
標籤,我怎樣才能得到事件被註冊的jQuery對象?我期望li
元素成爲事件目標,因爲這是我放入選擇器。我知道我可以在這種情況下使用.parent()
,但是有沒有辦法獲得匹配選擇器的對象,而不是底部事件目標?也使用.parent()
是一個痛苦,因爲當點擊li
的其他部分時,我不需要使用它。錯誤event.target jQuery的
1
A
回答
7
e.target
是鏈接標記。
您應該使用this
獲取li
標籤,該標籤是綁定到處理程序的元素。
代碼:
$('.drilldown-action > li').live('click', function(event){
drilldown.loadActions($(this));
});
注:在jQuery 1.7中,.live()
方法已經過時了。使用.on()
附加事件處理程序。舊版本jQuery的用戶應優先使用.delegate()
而不是.live()
。
2
是的,使用this
就像你會遇到任何其他事件一樣。
drilldown.loadActions($(this));
1
在這種情況下,我會確保我總是通過我想要的東西:
$('.drilldown-action > li').live('click', function(event){
drilldown.loadActions($(event.target).closest('li'));
});
據jQuery的API文檔,最接近()將始終通過 「禮」 元素:
描述:對於集合中的每個元素,獲取 通過測試匹配選擇器的第一個元素元素本身並通過它的祖先在DOM樹中遍歷 。 https://api.jquery.com/closest/
相關問題
- 1. IE JS錯誤與event.target ==
- 2. event.target在jquery
- 3. jquery event.target is_a_child_of(element)
- 4. event.target不jQuery代碼
- 5. jquery與「event.target」太多遞歸
- 6. iOS上沒有jquery event.target
- 7. event.target jquery:語法差異
- 8. jQuery的event.target元素的兄弟
- 9. 使用上event.target
- 10. 使用jquery中的event.target轉換event.srcElement
- 11. 設置event.target的值/文本與jQuery
- 12. 在ui滑塊中的event.target jQuery
- 13. JavaScript的event.target投擲錯誤(但它的工作原理)
- 14. Javascript錯誤:TypeError:'null'不是Safari上的對象(評估'event.target')
- 15. ActionScript 3的event.target
- 16. AJAX中的event.target
- 17. event.target在Firefox中沒有定義,在IE中有小錯誤
- 18. 優勢*此*在event.target
- 19. 使用jQuery event.target帶着孩子
- 20. jquery event.target屬性在asp.net中不工作
- 21. jquery addClass()不能與event.target配合使用
- 22. jQuery event.target和(「:checked」)不起作用
- 23. event.target [matches]錯誤表單在Meteor React項目中提交
- 24. event.target不起作用
- 25. Firefox event.target問題
- 26. 錯誤的jQuery
- 27. jQuery的錯誤
- 28. jquery的錯誤
- 29. jQuery的錯誤
- 30. jQuery的錯誤
您是否知道'.live()'已被棄用?你應該使用'.on()'(jQuery 1.7+)或'.delegate()'。 –
謝謝,不知道它已經被棄用了。 – Philipp