【问题标题】:Jquery touchend firing before finger is released手指释放前Jquery touchend触发
【发布时间】:2014-03-02 09:24:20
【问题描述】:

我想做两件事......当我们触摸屏幕和从屏幕上松开手指时做一些事情..但是即使在我松开​​手指之前,下面的 touchend 功能也会触发警报框。我错在哪里?

$(window).on('touchend', function(e){
alert("finger released");
});



$(window).on('touchstart', function(e){
//touch started
});

【问题讨论】:

    标签: javascript android jquery ios


    【解决方案1】:

    这实际上是 webkit 中的known bug。如果适合您的需要,请尝试使用touchmove,或者touchcancel 有时会代替touchend 被解雇。顺便说一句,它在 Firefox 上运行良好(至少在 Android 上,我什至不知道 FF 在 iOS 上是否存在)。

    编辑

    您还可以在touchstart 事件中使用preventDefault();,但正如它的名字所说,它会阻止默认行为,所以再次强调,这取决于您的需求。

    【讨论】:

    • 我需要类似 keydown 和 keyup 的东西......所以在 touchstart 上它应该继续调用该函数......并且在 touchend 上它应该提醒......我正在尝试创建一个游戏。
    • 喜欢按下按钮?在这种情况下,您可以尝试设置标志...我认为您必须找到解决方法... :(您尝试过touchcancel 吗?为什么preventDefault() 没有帮助?
    • 是的,就像按住一个按钮......是的,触摸取消没有触发任何东西..preventDefault() 也没有帮助
    • 再说一次,为什么 preventDefault() 没有帮助?
    • 我在 touchstart 中使用了 e.preventDefault() ..但即使在我释放手指 touchend 之前也会收到警报...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-14
    • 2020-10-04
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-30
    相关资源
    最近更新 更多