- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Hammer.js 来监听元素上的水平平移。当 deltaX 达到阈值时,我想终止当前平移,强制“平移”并在用户下次尝试“平移开始”时恢复平移。
通读文档,现在似乎无法使用该库。有人知道解决方案吗?
var mc = new Hammer.Manager(@option_elm.get(0),
recognizers: [
[Hammer.Pan,{direction: Hammer.DIRECTION_HORIZONTAL}]
]
)
mc.on('panleft', function(e) {
e.kill() // something simple like this...?
})
最佳答案
我遇到了同样的问题。 Hammer.js 有一个名为 stop();
的内置方法。您可以在“penleft”事件函数中像这样使用它:mc.stop();
http://hammerjs.github.io/api/#stop%28[force]%29
这不会强制“penend”。 Hammer.js 将忽略所有输入。不幸的是,这种方法有一个巨大的错误。事件对象在所有新输入上都会有错误的参数: https://github.com/hammerjs/hammer.js/issues/811
所以我曾经使用一个名为“isFired”的辅助变量。您的代码可能如下所示:
var mc = new Hammer.Manager(@option_elm.get(0),
recognizers: [
[Hammer.Pan,{direction: Hammer.DIRECTION_HORIZONTAL}]
]
),
isFired = false;
mc.on('panstart', function(e) {
isFired = false;
});
mc.on('panleft', function(e) {
if (!isFired) {
isFired = true;
yourCustomCallback();
}
});
mc.on('panend', function(e) {
isFired = false;
});
在“penstart”和“panend”上将此变量重置为 false
很重要。
关于javascript - 使用 Hammer.js 2.0.4 在当前平移期间强制 "panend",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27255182/
我使用hammerjs(版本:2.0.8)平移事件来移动元素(span)。它在 Chrome 和 Firefox 上运行良好。但是 panend 事件在 Firefox 中不起作用。仅触发 panst
我在 Hammer.js 文档中的 panend 和 pancancel 处理程序之间的文档中找不到任何区别 pan 事件 - 什么两者有什么区别? 我想象在移动设备上滑动屏幕,但我不确定。 最佳答案
我正在使用 Hammer.js 来监听元素上的水平平移。当 deltaX 达到阈值时,我想终止当前平移,强制“平移”并在用户下次尝试“平移开始”时恢复平移。 通读文档,现在似乎无法使用该库。有人知道解
我是一名优秀的程序员,十分优秀!