Javascript 仅允许单触式jQuery触摸屏
我正在使用HP触摸屏台式电脑,开发一个简单的网站。我想防止用户一次用八个手指“捣碎”屏幕。jQuery中是否有一种方法允许一次只注册一个触摸事件?因此,当第一个手指点击屏幕时,即已注册的手指,所有其他触摸都将被忽略,直到该手指到达一个Javascript 仅允许单触式jQuery触摸屏,javascript,jquery,Javascript,Jquery,我正在使用HP触摸屏台式电脑,开发一个简单的网站。我想防止用户一次用八个手指“捣碎”屏幕。jQuery中是否有一种方法允许一次只注册一个触摸事件?因此,当第一个手指点击屏幕时,即已注册的手指,所有其他触摸都将被忽略,直到该手指到达一个touchend?在点击后禁用输入类型(按钮、文本框等),在逻辑完成后启用它 编辑:如果要在触发touchend之前禁用所有触摸事件,请尝试以下操作: var isProcessing = false; $(document).on("touchstart",fu
touchend
?在点击后禁用输入类型(按钮、文本框等),在逻辑完成后启用它
编辑:如果要在触发touchend之前禁用所有触摸事件,请尝试以下操作:
var isProcessing = false;
$(document).on("touchstart",function(e){
e.preventDefault();
if(!isProcessing){
isProcessing = true;
//Do your stuff here
}
});
$(document).on("touchend",function(e){
e.preventDefault();
isProcessing = false;
});
好的,下面是我使用的解决方案:
var isTouched = false;
var $document = $(document);
$document.on('touchstart', function () {
if (!isTouched) {
isTouched = true;
$document.off('touchstart', function () {
$document.on('touchend', function () {
isTouched = false;
$document.bind('touchstart');
});
});
}
});
它不一定是一个按钮,而是整个屏幕。我想不出一种方法,如果
主体
接收到触摸启动事件,设置一个标志,并处理触摸动作。如果设置了标志,则忽略触摸。当出现touchend
时,重置标志。更新我的答案,我认为我们的想法是一致的。是的,这更接近。但是我认为touchend
需要在if
中的回调中。我还需要将.off()
应用于touchstart
,并在重置标志后重新绑定。我不知道应用程序的范围,但这是防止多次触摸所需的基本逻辑。按您认为合适的方式应用。:)