为什么jQuery可以在onClick而不在ontouchstart上工作?

时间:2018-12-04 16:16:23

标签: javascript jquery html

为什么jquery只能在onClick上起作用而不能在ontouchstart上起作用?

我的html

<a href="/list-sky/"
           ontouchstart="startTouch('MICHELIN')" 
           onclick="startTouch('MICHELIN')">                     
     <h2>MICHELIN</h2>
</a>

这是我的JavaScript

function startTouch(q) {
 // Process the event

 $("#searchRess").load("teste.php?q="+q);
}   

当我用鼠标单击鼠标时,它会正常运行,但是当使用像智能手机这样的屏幕屏幕设备单击时,它会触发该功能,但不会将php查询加载到 #searchRess < / strong>

1 个答案:

答案 0 :(得分:0)

以下HTML将touch事件传递给javascript,就可以在移动chrome上正常使用了。

<html>
  <head>
  <script>
    function test() {
      console.log("test");
    }
  </script>
  </head>
  <body>
    <p ontouchstart="test()">Touch here</p>
  </body>
</html>

我认为您的问题出在其他地方。 teste.php可能是拼写错误?

您的移动浏览器也可能不喜欢ontouchstart。如果您已经在使用Jquery,建议您从脚本本身而不是内联html附加触摸事件处理程序。

$("p").bind('touchstart click', test);

http://api.jquery.com/bind/

希望这会有所帮助。