jQuery移动点击事件

jQuery移动点击事件,jquery,html,jquery-mobile,onclick,double-click,Jquery,Html,Jquery Mobile,Onclick,Double Click,这可能很简单,但我想进入这个查询的核心 我正在为我的一个项目使用jQuery Mobile最新版本。按钮单击事件的响应有问题 我必须双击按钮才能触发它的click事件,并且开始处理按钮的click事件处理程序需要时间。 问题1:是jQuery把事情搞砸了吗 查询2:不能只单击一次就可以处理jQuery的单击事件处理程序 我在互联网上搜索过,但没有找到合适的解决方案。如果您不喜欢延迟,请不要在jQuery Mobile上使用click event。基本上,jquerymobileclick事件有3

这可能很简单,但我想进入这个查询的核心

我正在为我的一个项目使用jQuery Mobile最新版本。按钮单击事件的响应有问题

我必须双击按钮才能触发它的click事件,并且开始处理按钮的click事件处理程序需要时间。 问题1:是jQuery把事情搞砸了吗

查询2:不能只单击一次就可以处理jQuery的单击事件处理程序


我在互联网上搜索过,但没有找到合适的解决方案。

如果您不喜欢延迟,请不要在jQuery Mobile上使用click event。基本上,jquerymobileclick事件有300毫秒的延迟,可以是更大的事件延迟。您可以使用vclick事件。这是一个特殊的jQuery移动点击事件,用于弥补桌面点击和移动点击之间的差异。它不受延误的影响

或者您可以使用轻触事件或touchStart

$(document).on('vclick', '#button', function(){ 
    console.log("click");
});

阅读我关于点击延迟的其他回答:

当您在移动设备上使用jQuery mobile查看网站时,点击事件有300毫秒的延迟

确保使用jQuery Mobile的

此外,我发现在使用jQuery Mobile构建webapp以使用e.preventDefault时它很有用,因为如果您不这样做,如果您点击的元素随点击事件一起消失,则点击事件也可能会在其下方的元素上触发。隐藏

例如:

$('.button').on('tap', function(e){
      console.log('tapped');

      $(this).hide();
      e.preventDefault();
});

这对我来说很有效,它强制jquerymobile的点击事件

$("#button").trigger('click');
资料来源: