背景与我昨天发布的这个问题有关:
on click event inside pageinit only works after page refresh。
我得到了这个问题的答案,我在chrome devtools中尝试过,它运行正常。但是今天当我在真实设备(iPhone)上测试它时,它不起作用。当我使用旧代码时,按钮可以工作,但只有在刷新之后。当我使用那个接受的答案时,按钮不再起作用了。但它完美适用于chrome虚拟设备。希望有人可以提供帮助。
答案 0 :(得分:0)
您可能希望为这样的移动设备使用触摸事件:
$("#close").on("touchstart", CloseBanner);
或者,如果您不想使用为不同平台分离事件,那么您可以使用这样的非jquery选项:
closeButton = document.getElementById('close');
closeButton.onclick = CloseBanner;
希望它有所帮助...
答案 1 :(得分:0)
我会这样做:
$(function () { //implicit DOMReady handler in jQuery
$("#close").on("touchstart click", CloseBanner); //make sure you handle touch events
$("#download").on("touchstart click", SetAppStorePath);
});
只是不打扰pageinit。编辑:哦,我明白了问题是什么!你不能在锚上遗漏href。将href="#"
添加到这些锚点,它应该可以正常工作。另外,请考虑更改应用商店链接上的href,而不是设置窗口位置,因为人们喜欢查看链接的位置。
<div class="banner">
<div class="container">
<a id="close" href="#">×</a>
<a id="download" href="#">Download</a>
</div>
</div>
和
$('#close').attr('href', 'app store URL goes here');