我使用的是iOS 8.2Safari浏览器的iOS - 点击链接
我有.loading-screen
阶级一个div和一个链接,点击后,会提示控制器做一些东西,至少需要几秒钟(后jQuery的弹出生成一个文件),然后刷新页面。点击链接.generate-button
后,我想要向用户显示一个弹出窗口,基本上显示“您的文件正在生成 - 请稍候。”
这里是我的代码,修剪,以展示最基础的:
jQuery的
jQuery(document).ready(function() {
jQuery(".generate-button").click(function (e) {
alert('generating - click!');
jQuery(".loading-screen#generating").addClass('show');
});
});
HTML
<a href="http://example.com/link/generate/id/101/" class="button generate-button">Generate file</a>
....
<div class="loading-screen" style="display: none" id="generating">
<p>Your file is generating!</p>
</div>
CSS
.loading-screen {
z-index: 5000;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.loading-screen.show {
display: block !important;
}
在Chrome和Firefox上,这工作正常。我在Safari上遇到了一些问题,特别是在iOS上。
我已阅读其他帖子,指出在Safari上的点击事件是行不通的 - jQuery click events not working in iOS - 我的混淆是,与我的代码,当链接被点击时,警报显示,但弹出窗口不显示。
我尝试使用jQuery(".generate-button").hover(...)
来代替,这确实会生成弹出窗口,但是(显然)不会导航到该链接。
它是否与Safari意识到页面正在远离导航,因此不在页面上进行任何进一步的更改?这是我目前唯一的理论。
在Mac上的Safari浏览器中,行为是页面远离Chrome浏览器/火狐浏览器提供的URL(链接中指定的URL),但这对我来说目前不是这样的问题。
帮助或想法赞赏。谢谢。
只是从'a'切换到'button'使它工作,所以显然链接'onclick'不工作 – brauliobo