Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html <;a href onClick=";返回false&引用&燃气轮机;不在Safari/iOS中工作?_Html_Ios - Fatal编程技术网

Html <;a href onClick=";返回false&引用&燃气轮机;不在Safari/iOS中工作?

Html <;a href onClick=";返回false&引用&燃气轮机;不在Safari/iOS中工作?,html,ios,Html,Ios,我的页面中有以下代码: <a href onClick="return false;">Press me!</a> 链接放置在带有有用onClick事件的范围内 现在,在Chrome和Firefox中,这一点非常有效。点击链接,执行有用的事件,大家都很高兴。在使用默认Safari浏览器的iOS(iPhone和iPad)中,这失败得很惨——点击链接后,整个页面被重新加载,有用的事件永远不会执行 我也试过了 <a href="#" onClick="return

我的页面中有以下代码:

<a href onClick="return false;">Press me!</a>

链接放置在带有有用onClick事件的范围内

现在,在Chrome和Firefox中,这一点非常有效。点击链接,执行有用的事件,大家都很高兴。在使用默认Safari浏览器的iOS(iPhone和iPad)中,这失败得很惨——点击链接后,整个页面被重新加载,有用的事件永远不会执行

我也试过了

<a href="#" onClick="return false;">Press me!</a>

我认为这样做是错误的。在Chrome和Firefox中,它工作得很好,但在iOS的Safari中,它跳回到了页面的开头(但它确实执行了有用的事件,所以从某种意义上说它更好)


我缺少什么?

您是否尝试过纯粹从javascript绑定元素

<a href="#" id="nogo">Foo</a>

document.getElementById('nogo').onclick = function(ev) {
ev.preventDefault();
};

document.getElementById('nogo')。onclick=function(ev){
ev.preventDefault();
};

根据您的描述,这似乎是iOS浏览器JS实现中的一个bug(可能创建一个最小的代码来演示它?)

一个简单的解决方法是将
替换为

您可以设置
href=“#”
,我注意到同样的情况会跳到页面顶部
#
是一个页面内锚定,我相信它指的是页面顶部。我不清楚那是什么行为。但是,唉,你想取消它

在iPhone5.0.1模拟器中,将这两种取消方法结合使用是可行的,不会滚动到顶部。这是我完整的
test.html
文件。它在模拟器、Chrome和OSXSafari中工作

<div style="height: 1000px; background-color: blue;"></div>
<a href="#" onClick="event.preventDefault(); return false;">Poke it!</a>
<div style="height: 1000px; background-color: red;"></div>


对于记录,删除
事件.preventDefault()复制您的错误。

这是一个有问题的解决方案,因为有很多这样的链接,它们是由一个更大的系统动态创建的(phpbb,就这点而言;该链接用于显示扰流板文本)。啊,很公平,没有指定,因此无法猜测。你能使用jquery吗?然后你可以用一个命令绑定它们,甚至是新创建的命令。我可以做一些黑客攻击,但我更愿意遵守规则,即提供一个html代码来替换消息中的扰流板标记,而不必使用viewtopic.php本身。我没有指定上下文,因为在我看来,这是一个我不理解链接工作方式的基本问题。我认为在这种情况下你无法做到这一点。您只能在href中使用preventDefault return false er a#来阻止页面加载。这不是我所希望的解决方案,但它似乎确实是iOS中的一个bug,解决方法很有效。谢谢,我没有考虑使用preventDefault。