我已经为触摸事件添加了简单的代码,并且它在移动设备中正常工作,但在触摸屏笔记本电脑中无效。
$(document).ready(function(){
$(".navigation a").bind("touchstart",function(e){
alert('Touch start!');
});
});
答案 0 :(得分:0)
也许正在听鼠标事件。您可以为事件添加变量,并检查其功能是否可以重现触摸事件。您可以使用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!')
});
});
答案 1 :(得分:0)
更新:查看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
});