我正在構建一個HTML5遊戲,我剛開始在我的iPad上測試它(iOS 6,我相信,絕對不是iOS 7)。當我玩遊戲時,我想避免橡皮筋,但我也想對滑動事件做出反應。下面是我做這個:有沒有辦法阻止橡皮筋條,但仍然允許「點擊」事件?
$("#game").on("touchmove", false) #prevent rubber banding on iOS
hammer = $('#game').hammer({swipe_velocity: .05})
hammer.on "swipeup", (event) -> root.core.handleKeyDown(root.constants.UP); stopProp(event)
hammer.on "swipedown", (event) -> root.core.handleKeyDown(root.constants.DOWN); stopProp(event)
hammer.on "swipeleft", (event) -> root.core.handleKeyDown(root.constants.LEFT); stopProp(event)
hammer.on "swiperight", (event) -> root.core.handleKeyDown(root.constants.RIGHT); stopProp(event)
的問題是,我希望人們能夠點擊#game並讓它暫停。我的代碼的第一行似乎阻礙了這一點,我想了解爲什麼。我的遊戲事件偵聽器監聽「點擊」像這樣的活動:
$("#game").on "click", (event) ->
奇怪的是,它的作品「有時」如果我「嘗試真正的努力」。我不知道這是爲什麼。但如果我多次按下它,它最終會奏效。
另一個奇怪的是,如果我註釋掉第一行,點擊暫停遊戲,但似乎總是有半秒的延遲。我不認爲這是出於性能原因,因爲刷卡非常敏感。
有人可以解釋如何避免橡皮筋和允許處理點擊事件嗎?還解釋我正在犯的錯誤?我不明白「點擊」,「點擊」,「ousedown」和「touch」是如何一起工作的。
您是否本地移植到iOS或僅在瀏覽器中運行? – Grant
@Grant只需在iPad上的Safari瀏覽器中運行即可。是否有更合適的標籤可供使用? –