[英]Touch event not working on touch screen laptop
我已经为触摸事件输入了简单的代码,并且在移动设备中可以正常工作,但在触摸屏笔记本电脑中却无法正常工作。
$(document).ready(function(){
$(".navigation a").bind("touchstart",function(e){
alert('Touch start!');
});
});
也许正在监听鼠标事件。 您可以为事件添加变量,并检查其功能是否可以重现触摸事件。 您可以使用modernizr javascript库在此任务中获得更高的准确性。
让我给你看一个例子:
var clickEvent = undefined;
if (Modernizr.touch) {
clickEvent = "touchstart";
} else {
clickEvent = "click";
}
$(document).ready(function(){
$(".navigation a").bind(clickEvent,function(e){
alert('It works!')
});
});
更新:检查jQuery指针事件Polyfill项目,该项目使您可以绑定到“指针”事件,而无需在鼠标和触摸之间进行选择。 https://github.com/jquery/PEP
绑定到两者,但创建一个标志,以便该函数每100ms左右仅触发一次。
var flag = false;
$thing.bind('touchstart click', function(){
if (!flag) {
flag = true;
setTimeout(function(){ flag = false; }, 100);
// do something
}
return false
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.