当前位置:首页 > 操作系统 > Ios

javascript – 为什么在iOS Safari Mobile(iPhone / iPad)中没有触发模糊事件?

我有两个绑定到锚标记的事件处理程序:一个用于焦点和模糊.

处理程序在桌面上启动,但在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)!