2013-03-01 79 views
2

我剛開始學習JavaScript,所以我可以實現觸摸手勢,我使用的是hammer.js庫,但即使是一個簡單的代碼似乎並不工作,有誰知道如果我缺少一些明顯的東西基本的觸摸手勢不工作,使用hammer.js

我正確包括hammer.js(已通過將路徑在瀏覽器中測試它) 我已經包含在頭這段代碼...

<script type="text/javascript"> 
    var element = document.getElementById('tapdiv'); 
    var hammertime = Hammer(element).on("tap", function(event) { 
    alert('hello!'); 
    }); 
</script> 

和我的HTML ...

<div id="tapdiv"> 
<img src="files/tabdiv.jpg" /> 
</div> 

編輯:IM還收到此錯誤在控制檯hammer.js ...

類型錯誤:EL爲空 [打破此錯誤]

if(!css_props || !el.style){

+0

你的控制檯是否有錯誤? – thesonglessbird 2013-03-01 16:54:21

+0

我實際上應該包含一個錯誤,現在編輯OP。 – Adrian 2013-03-01 16:55:38

回答

8

看來,你的JavaScript嘗試訪問DOM中的一個對象,尚不存在 - 請確保您執行的JavaScript後的DOM已準備就緒:

<script type="text/javascript"> 
window.addEventListener('load', function() { 
    var element = document.getElementById('tapdiv'); 
    var hammertime = Hammer(element).on("tap", function(event) { 
     alert('hello!'); 
    }) 

}, false); 
</script> 
+0

謝謝,這解決了問題! :) – Adrian 2013-03-01 17:05:25

+0

歡迎,很高興幫助:) – 2013-03-01 17:09:37