触摸事件无法在触摸屏笔记本电脑上运行

时间:2015-08-05 05:57:57

标签: jquery

我已经为触摸事件添加了简单的代码,并且它在移动设备中正常工作,但在触摸屏笔记本电脑中无效。

$(document).ready(function(){
    $(".navigation a").bind("touchstart",function(e){
      alert('Touch start!');
    });
});

2 个答案:

答案 0 :(得分:0)

也许正在听鼠标事件。您可以为事件添加变量,并检查其功能是否可以重现触摸事件。您可以使用modernizr javascript库来更准确地完成此任务。

http://modernizr.com/

让我举个例子:

 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
});