我有两个绑定到锚标记的事件处理程序:一个用于焦点和模糊.
处理程序在桌面上启动,但在iphone和ipad中只能正确触发焦点.如果我在锚标记外单击,则不会触发模糊(仅当我单击页面中的其他表单元素时模糊才会触发):
$("a").focus(function(){
console.log("focus fired");
});
$("a").blur(function(){
console.log("blur fired");
});
HTML:
<html>
<form>
<a href="#">test link</a>
<div>
<input type="text" title="" size="38" value="" id="lname1" name="" class="text">
</div>
<div style="padding:100px">
<p>test content</p>
</div>
</form>
</html>
解决方法:
如果锚点附加了任何事件,则在iOS中首次点击它会导致锚点进入悬停状态并进行聚焦.轻击即可移除悬停状态,但链接仍然保持聚焦状态.这是设计的.要在iOS上正确控制应用程序,您需要实现基于触摸的事件并对这些事件做出反应而不是桌面事件.
有a complete guide to using Javascript events in WebKit on iOS.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!