如何在沒有JQuery選擇器的情況下使用錘子JS事件而只使用簡單的Javascript方法?Hammer.js with plain javascript
1
A
回答
1
只需快速瀏覽一下GitHub的文檔在:
var hammer = new Hammer(document.getElementById("container"));
創建一個 '錘子' 沒有jQuery的。之後,你可以設置回調函數,你也不需要任何jQuery。但要小心! HammerJS可能需要jQuery的內部,所以有可能你不能離開了<script src="path/to/jquery.js"></script>
3
綁定錘容器元素:
var hammer = new Hammer(document.getElementById("container"));
現在,所執行的每一個手勢在容器元素上, 您將收到一個包含手勢信息的回調對象。
一些功能。例如:
hammer.ondragstart = function(ev) { };
hammer.ondrag = function(ev) { };
hammer.ondragend = function(ev) { };
hammer.onswipe = function(ev) { };
hammer.js可作爲完全獨立的版本,這樣你就不會需要進口的jQuery資源。請參閱:http://eightmedia.github.com/hammer.js/
1
簡短的回答是:只要使用普通的老DOM API。你不是有義務或被迫一旦你包含它就只能使用jQuery。
var someElements = document.querySelectorAll('.someClass');//not jQuery, perfectly valid
var byId = document.getElementById('someId');
var sameScript = $('#anotherId');//nothing stops me from doing this... using jQ for some things
如果你發現DOM API有點笨重(它是),你不妨做這樣的事情:
var pureDOMRef = $('someID')[0];//returns "normal" Element object, removes jQ wrapper
var multiple = Array.prototype.slice.apply($('.classSelector'),[0]);//returns Array
就玩,如果你要來回切換,沒什麼錯的
0
hammer.js的新版本提供了一個JQuery插件,必須首先理解它不是來自JQuery的插件 - 它是針對JQuery的。所以,如果你使用JQuery爲您的網站用於其他用途,然後它的方便,你可以基本上是從錘「應用」插件在jQuery選擇這樣的:
$(element).hammer(options).bind("pan", myPanHandler);
由於hammer.js具有它可以在現代的OOP模式一次使用多個數據處理實例,因此綁定到錘子的每個JQuery元素都是一個實例。 (恕我直言)JQuery減慢了一些毫秒,如果你不介意使用這個插件或保持與香草。
相關問題
- 1. 替換$ .Deferred with plain JavaScript Promise
- 2. Pinch-zoom with Hammer.js
- 3. fullpage carousel with hammer.js
- 4. Plain JavaScript - ScrollIntoView Div
- 5. JSF Facelets with plain jQuery AJAX poll/push
- 6. text/plain vs text/javascript
- 7. 對JavaScript使用type =「text/plain」?
- 8. libmagic。 text/plain代替文本/ javascript text/css
- 9. Immutablejs in plain objects - Monads
- 10. 用Javascript和Hammer.js找到兄弟姐妹
- 11. plain for loop代替forEach在JavaScript中
- 12. 如何避免xml緩存plain javascript
- 13. SetInterval with javascript in javascript
- 14. 捏與Hammer.js縮放
- 15. Hammer.js事件
- 16. Framer.js Hammer.js集成
- 17. jsp with javascript parameter javascript javascript onclick
- 18. Cloud SQL with Javascript
- 19. Referenecement with JavaScript
- 20. Javascript:$('body:contains(「」)')with html
- 21. Html with javascript-search
- 22. tinyMCE with Javascript
- 23. Javascript Bookmarklets with Quotes
- 24. keydown with JavaScript
- 25. SublimeLinter javascript with php
- 26. HIde word with JavaScript
- 27. onmouseover with javascript
- 28. Javascript sort()with concat()
- 29. Arcmap with javascript
- 30. xsl with javascript
您確定嗎?我試圖避免JQuery – Jacob
我不確定如果HammerJS內部需要jQuery,但爲什麼會這樣?如果你不想在_your_代碼中使用它,你不需要,你可以使用vanilla JS選擇器來創建一個Hammer。但是如果你想測試一下,在你導入HammerJS的時候,不要試圖導入jQuery。如果它打破了,控制檯說'$是undefined'或'jQuery是未定義的'你知道HammerJS需要jQuery。 @Jacob – 11684