繁体   English   中英

触摸事件在触摸屏笔记本电脑上不起作用

[英]Touch event not working on touch screen laptop

我已经为触摸事件输入了简单的代码,并且在移动设备中可以正常工作,但在触摸屏笔记本电脑中却无法正常工作。

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

也许正在监听鼠标事件。 您可以为事件添加变量,并检查其功能是否可以重现触摸事件。 您可以使用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!')
    });
 });

更新:检查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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM