这可能很简单,但我想进入这个查询的核心。
我正在为我的一个项目使用 jQuery Mobile 最新版本。按钮点击事件的响应有问题。
- 我必须双击按钮才能触发它的单击事件,并且开始处理按钮的单击事件处理程序需要时间。
查询 1:是 jQuery 搞砸了。
查询2:不能只单次点击就可以处理jQuery的点击事件处理程序。
我在互联网上搜索过,但没有找到合适的分辨率。
这可能很简单,但我想进入这个查询的核心。
我正在为我的一个项目使用 jQuery Mobile 最新版本。按钮点击事件的响应有问题。
查询 1:是 jQuery 搞砸了。
查询2:不能只单次点击就可以处理jQuery的点击事件处理程序。
我在互联网上搜索过,但没有找到合适的分辨率。
如果您不喜欢延迟,请不要在 jQuery Mobile 中使用 click 事件。基本上 jQuery Mobile 点击事件有 300 毫秒的延迟,它可以是更大的事件。您可以使用 vclick 事件。这是一个特殊的 jQuery Mobile 点击事件,用于连接桌面点击和移动点击之间的差异。它不会遭受形式延迟。
或者您可以使用点击事件或 touchStart。
$(document).on('vclick', '#button', function(){
console.log("click");
});
阅读我关于点击延迟的其他答案:在 jQuery mobile 中,tap 和 vclick 之间有什么区别?
当您在移动设备上使用 jQuery Mobile 查看网站时,点击事件有 300 毫秒的延迟。
确保你使用 jQuery Mobile 的Tap
另外,当我使用 jQuery Mobile 构建 web 应用程序时,我发现它很有帮助,e.preventDefault()
因为如果你不这样做,如果你点击的元素在你的点击事件中消失,点击事件也可能在它下面的元素上触发。IE。.hide()
例子:
$('.button').on('tap', function(e){
console.log('tapped');
$(this).hide();
e.preventDefault();
});
这对我有用,它强制 jquerymobile 的点击事件
$("#button").trigger('click');
来源:http: //jquerymobile.com/demos/1.0a2/experiments/api-viewer/docs/bind/index.html