DrH*_*all 6 javascript google-chrome hammer.js
我想通过构建一个简单的程序在屏幕上拖动一个元素来学习Hammer JS,就像在Hammer主页上一样.
我使用了Hammer github页面上发布的代码,它似乎与主页上使用的代码相同.我在Chrome(37.0/OSX)中测试了这项工作.使用它一段时间并且无法移动元素后,我在Safari和FF中打开了相同的页面.它在这两种浏览器中都运行良好.
为了减少事情,我添加了代码所需的代码以查看事件触发器:
var mover = document.getElementById("mover");
var mc = new Hammer.Manager(mover);
mc.add(new Hammer.Pan({ threshold: 0, pointers: 0 }));
mc.on("panstart panmove", function(ev) {
console.log(ev);
});
Run Code Online (Sandbox Code Playgroud)
Chrome中没有记录任何内容,但我在Safari和FF中按预期正确记录.我扩展了事件监听器,包括'pan,panend,pancancel,panleft,panright,panup,pandown'.这些事件将登录Chrome,因此似乎只有panstart和panmove被忽略了.
因此,此代码将在Chrome的hammer.js页面上运行,因此很明显Chrome确实会在该浏览器中看到panstart和panmove事件,这只是我的代码中没有发生的事情.这意味着我遗漏了一些东西,尽管从他们的网站上复制了代码.我检查过我们使用的是相同的Hammer版本,但我不确定此处还有什么需要检查.
还有其他人遇到并解决了这个问题吗?或者也许知道我在创建这个问题时做错了什么?
谢谢.
Ari*_*erg -1
在 Hammer 网站中明确指出“为了在较慢的设备上获得更好的性能,您应该尝试使回调尽可能简单。” 我认为浏览器也是如此!
也许你的问题是
var mover = document.getElementById("#mover");
Run Code Online (Sandbox Code Playgroud)
为什么输入“#mover”而不是“mover”?“#”符号用于 JQuery,并且您使用的是纯 JavaScript。让我感到困惑的是,在某些浏览器中这有效,所以我想你的 ElementID 实际上以“#”开头......
请告诉我是否有帮助!
| 归档时间: |
|
| 查看次数: |
1270 次 |
| 最近记录: |