Javascript 必须点击两次才能触发事件/与iOS链接

Javascript 必须点击两次才能触发事件/与iOS链接,javascript,jquery,ios,html,Javascript,Jquery,Ios,Html,为什么有了常规的链接标签( 在iOS上,我必须点击该链接两次,它才能重定向我 在其他情况下,我有一些通过jQuery事件触发的链接,这也要求您点击两次来触发事件 知道这是一个大项目,我如何解决这个问题 谢谢。尝试使用您的单击添加touchend事件,如: $('#anchor').on('click touchend', function(e) { window.location = 'link'; }); 请给我们JSFIDDLE中的代码狙击手或工作示例常规超链接应该只需要点击一

为什么有了常规的链接标签(

在iOS上,我必须点击该链接两次,它才能重定向我

在其他情况下,我有一些通过jQuery事件触发的链接,这也要求您点击两次来触发事件

知道这是一个大项目,我如何解决这个问题


谢谢。

尝试使用您的单击添加
touchend
事件,如:

$('#anchor').on('click touchend', function(e) {

    window.location = 'link';
});

请给我们JSFIDDLE中的代码狙击手或工作示例常规超链接应该只需要点击一次。如果点击两次,可能还有其他原因。我将首先查找
ev.preventDefault()
在某些单击处理程序中返回false
。@RyanWheale我认为可能是悬停效应导致了问题。问题是,如果你在iOS上启动它,它会起作用。如果你不给我们一个活的例子或更多的东西来处理,我们应该如何帮助你?@RyanWheale但这个链接在iO上不起作用问题是,如果我页面上的某个链接在单击时触发了jQuery事件,这将启动该事件以及您的事件。请尝试此操作,但不要测试$('#anchor')。在('touchend',function(e){$(this)。click();})上;这不起作用。即使我只是向下滚动页面(不点击),它也会单击它。您可以检查touchmove事件变量move=false;$(“body”)。on(“touchmove”,function(){move=true;});$('#anchor')。on(“touchend”,function(e){if(move)return;$(this)。单击();});不要忘记在触摸开始时重置移动变量:$(“body”)。on(“touchstart”,function(){move=false;});
$('#anchor').on('click touchend', function(e) {

    window.location = 'link';
});