如何将 Hammer.js 插件与 JavaScript 一起使用?
How to use Hammer.js plugin with JavaScript?
我将 hammer.js 插件库与 JavaScript 一起使用,但它抛出 hammer.js 文件中 target.addEventListener is not a function
的错误。我试着上网,但找不到适合我的东西。这是我的代码:
我的模板文件:
<div class="class_name">
<img src="" class="img_test" />
</div>
JavaScript 文件:
var ele = document.getElementByClassName('img_test')
var hammer = new Hammer(ele)
hammer.on('tap', function(){
console.log('image tapped')
})
出于某些原因,我没有使用此插件的 CDN 版本,而是在本地计算机上创建了不同的文件,并从 GitHub.[=16 复制了 hammer.js 文件的代码=]
当我 运行 上面的代码时,它给我 addEventListener
错误。我到处都找过但找不到任何解决方案,所以我不知道我做错了什么。
我正在使用最新的 Google Chrome 浏览器。
我使用 .each
函数和 jQuery 使其工作。
解决方案:
$('element').each(function(){
var mc = new Hammer(this)
mc.on('tap press', function(e) {
console.log('type: ', e.type)
})
})
嗯 document.getElementByClassName
不正确,但假设你的意思是 document.getElementsByClassName
,(注意复数 "Elements")那么问题是这个 returns 一个数组,即使只有一个元素 class.
所以 var hammer = new Hammer(ele[0])
应该可以解决问题。
如果您确实有多个带有 class 的元素,那么您将不得不像使用 jQuery.
一样在循环中遍历它们
我将 hammer.js 插件库与 JavaScript 一起使用,但它抛出 hammer.js 文件中 target.addEventListener is not a function
的错误。我试着上网,但找不到适合我的东西。这是我的代码:
我的模板文件:
<div class="class_name">
<img src="" class="img_test" />
</div>
JavaScript 文件:
var ele = document.getElementByClassName('img_test')
var hammer = new Hammer(ele)
hammer.on('tap', function(){
console.log('image tapped')
})
出于某些原因,我没有使用此插件的 CDN 版本,而是在本地计算机上创建了不同的文件,并从 GitHub.[=16 复制了 hammer.js 文件的代码=]
当我 运行 上面的代码时,它给我 addEventListener
错误。我到处都找过但找不到任何解决方案,所以我不知道我做错了什么。
我正在使用最新的 Google Chrome 浏览器。
我使用 .each
函数和 jQuery 使其工作。
解决方案:
$('element').each(function(){
var mc = new Hammer(this)
mc.on('tap press', function(e) {
console.log('type: ', e.type)
})
})
嗯 document.getElementByClassName
不正确,但假设你的意思是 document.getElementsByClassName
,(注意复数 "Elements")那么问题是这个 returns 一个数组,即使只有一个元素 class.
所以 var hammer = new Hammer(ele[0])
应该可以解决问题。
如果您确实有多个带有 class 的元素,那么您将不得不像使用 jQuery.