如何在Hammer.js(2.0.2)中停止事件傳播?相關測試(https://github.com/hammerjs/hammer.js/blob/master/tests/unit/test_propagation.js)中使用的技術不適用於所有類型的事件。如果用'按'替換'tap'事件,則測試失敗。如何停止hammer.js事件傳播
10
A
回答
0
在你的父元素中檢查event.target是什麼。如果它不是父元素並且設置爲子元素,則忽略該事件。
例如: if(event.target!= parent){ return; }
0
爲了解決這個問題,我寫了一個小的mixin來擴展與事件傳播hammer.js:
+1
你知道這樣改寫hammer.js的動機是什麼嗎?爲什麼事件不受限於DOM? – gipouf 2015-04-09 02:16:06
+1
如果你只有JS和沒有DOM,性能會更好。不需要考慮DOM就可以輕鬆構建。它也不是一個非常常見的用例,需要事件傳播,而且這種反模式有利於事件委託,讓單個父代處理所有事件。但有時它真的會讓你的生活更輕鬆。當擁有獨立組件時,它可能是必需的。 – 2015-04-09 08:06:57
0
在你父母的DOM綁定click事件,並stopPropagation它
相關問題
- 1. 如何停止傳播()w/Hammer.js 2.0?
- 2. 如何停止傳播ajaxerror事件
- 3. as3停止事件傳播
- 4. 停止事件傳播 - salesforce1
- 5. 停止javascript事件傳播
- 6. Java事件傳播停止
- 7. 角停止事件傳播
- 8. 如何停止html屬性中onclick事件的事件傳播?
- 9. JQuery UI;停止傳播可選事件
- 10. 學說2停止事件傳播
- 11. 停止事件傳播焦點JQuery
- 12. 事件冒泡和停止傳播
- 13. 停止JS-事件傳播單擊
- 14. 停止傳播所有事件
- 15. Angular On點擊停止傳播事件
- 16. 在Corona SDK中停止事件傳播
- 17. Openlayers 3停止事件傳播
- 18. 模糊功能事件停止傳播
- 19. jQuery UI滑塊停止事件傳播
- 20. hammer.js - 如何在不傳播「click」事件的情況下注冊「hold」事件?
- 21. 停止傳播
- 22. 停止傳播
- 23. 停止傳播
- 24. 如何在使用委託時停止事件傳播?
- 25. 如何使事件停止在React中傳播
- 26. 如何在兒童停止傳播時聆聽兒童事件
- 27. 如何停止jQuery中的事件傳播?
- 28. 如何停止在列表中傳播mouseout事件?
- 29. 如何停止使用javascript傳播滾動事件?
- 30. 儘管WS_EX_NOACTIVATE,如何停止事件傳播?
FWIW在單元測試中的技巧適用於刷卡事件,所以感謝@nlyk將其引起我的注意! Hammer.js傢伙,這個庫的新版本使得它比以前更難以做到這一點,這似乎是一個恥辱。 – 2014-09-04 09:16:36
提示和技巧頁http://hammerjs.github.io/tips/描述您需要設置選項{domEvents:true}以啓用stopPropagation。到目前爲止我還沒有這個工作 – 2014-12-11 09:14:13