gpt4 book ai didi

javascript - Hammer JS v2.0.4 仅在 Chrome 37.0 中无法识别 'panstart' 或 'panmove'

转载 作者:数据小太阳 更新时间:2023-10-29 05:39:19 28 4
gpt4 key购买 nike

我想通过构建一个简单的程序在屏幕上拖动一个元素来学习 Hammer JS,就像 Hammer homepage 上的一样.

我使用了 Hammer 上发布的代码 github page ,这似乎与主页上使用的代码相同。我正在测试 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);
});

Chrome 中没有任何记录,但我在 Safari 和 FF 中获得了预期的正确记录。我扩展了事件监听器以包括“pan、panend、pancancel、panleft、panright、panup、pandown”。这些事件将记录在 Chrome 中,因此似乎只有 panstart 和 panmove 被忽略了。

所以这段代码将在 Chrome 的 hammer.js 页面上运行,所以很明显 Chrome 确实在该浏览器中看到了 panstart 和 panmove 事件,只是我的代码中没有发生。这意味着尽管从他们的站点复制了代码,但我还是遗漏了一些东西。我检查过我们使用的是相同的 Hammer 版本,但我不确定我还需要从这里检查什么。

有没有其他人遇到并解决了这个问题?或者也许知道我做错了什么来制造这个问题?

谢谢。

最佳答案

在 Hammer 网站上清楚地说“为了在较慢的设备上获得更好的性能,你应该尽量让你的回调尽可能简单。”我认为浏览器也是如此!

也许你的问题是

var mover = document.getElementById("#mover");

为什么输入“#mover”而不是“mover”? “#”符号用于 JQuery,您使用的是普通 javascript。让我感到困惑的是,在某些浏览器中这是可行的,所以我想您的 ElementID 实际上以“#”开头...

如果有帮助,请告诉我!

关于javascript - Hammer JS v2.0.4 仅在 Chrome 37.0 中无法识别 'panstart' 或 'panmove',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26223522/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com