几周前,我从Koen中找到了一个小宝石,它将Hammer.js事件集成到Framer.js中。然而,它是为一个旧版本的锤子,这已经重写了。理论上,通过调整HammerEvents,我可以很容易地将它移植到新版本,而且对于pan和swipe事件,一切似乎都很好。但是,由于某些原因,我不能使用最新的(2.0.4)来处理夹点或旋转事件。
这是Hammer.js 1.1.3的原始片段:
HammerEvents =
Tap: 'tap'
DoubleTap: 'doubletap'
Hold: 'hold'
Touch: 'touch'
Release: 'release'
Gesture: 'gesture'
Swipe: 'swipe'
SwipeUp: 'swipeup'
SwipeDown: 'swipedown'
SwipeLeft: 'swipeleft'
SwipeRight: 'swiperight'
Transform: 'transform'
TransformStart: 'transformstart'
TransformEnd: 'transformend'
Rotate: 'rotate'
Pinch: 'pinch'
PinchIn: 'pinchin'
PinchOut: 'pinchout'
window.Events = _.extend Events, HammerEvents
class HammerLayer extends Framer.Layer
on: (eventName, f) ->
if eventName in _.values(HammerEvents)
@ignoreEvents = false
hammer = Hammer(@_element).on eventName, f
else
super eventName, f
window.Layer = HammerLayer有人知道怎么回事吗?谢谢一堆人!
发布于 2017-09-25 18:57:32
刚试了一下片段。它似乎运转得很好。我用这个代码试了一下:
doubleTap = new HammerLayer
doubleTap.on HammerEvents.DoubleTap, ->
print "You just doubletapped me."您是否确保将Hammer.js javascript库包含到Framer中?
js的子文件夹中。index.html,并在所有其他<script>包含项之后添加行<script>。https://stackoverflow.com/questions/28393710
复制相似问题