数週間前に、Hammer.js イベントを Framer.js に統合する Koen Bok のこの小さな宝石を見つけました。ただし、これは以前のバージョンの Hammer 用に作成されており、その後書き直されています。理論的には、HammerEvents を適応させることで、非常に簡単に新しいバージョンに移植できます。パンとスワイプのイベントでは、すべてが正常に機能しているようです。しかし、何らかの理由で、最新のハンマー スクリプト (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
誰が何が悪いのか考えていますか?本当にありがとう!