将 .click() 方法与移动 Safari 一起使用
Using .click() Method with Mobile Safari
我在使用移动Safari时遇到了一个问题,jQuery的.click()方法似乎没有触发。据我所知,我的代码似乎可以在所有其他移动浏览器上运行。还有其他人遇到过这个问题吗?这似乎是一个常见问题。
我在锚点上使用 .click() 方法来显示登录表单:
$(".login").click(function(){
$("#login-form").toggle();
$("#login-username").focus();
$(".login").toggle();
});
任何关于导致此问题的原因或解决方法的建议将不胜感激!我已经在所有其他移动和桌面浏览器上测试了代码,没有发现任何问题。谢谢!
编辑 - 这是HTML和相关CSS:
.HTML:
<div id="login-div">
<a class="login">Login</a>
<!-- Login form -->
<form id="login-form" action="action">
<div>
<input type="username" id="login-username" placeholder="email"/>
<input type="password" id="login-password" placeholder="password"/>
<input type="submit" id="login-button" value="Sign In"/>
<div>
{{> inputErrors}}
<a class="lost_password">Lost Password?</a>
</div>
</div>
</form>
</div>
.CSS:
#login-div {
margin: 5px -10px;
text-align: right;
}
.login {
vertical-align: -webkit-baseline-middle;
color: #d4d4d4;
font-family: "arial";
font-size: 1rem;
font-size: 16px;
font-weight: 200;
}
#login-form {
display: none;
width: 100%;
}
#login-username:focus, #login-username:active, #login-password:focus, #login-password:active {
-moz-box-shadow: 0px 0px 0.5rem 0px #8e8d8d;
-webkit-box-shadow: 0px 0px 0.5rem 0px #8E8D8D;
-o-box-shadow: 0px 0px 0.5rem 0px #8e8d8d;
box-shadow: 0px 0px 0.5rem 0px #8E8D8D;
outline-color: #8E8D8D;
}
尝试添加touchend
。 click
移动Safari中有一些陷阱:
$(".login").on('click touchend', function(){
$("#login-form").toggle();
$("#login-username").focus();
$(".login").toggle();
});
所以我最终通过将锚点移出更高级别的div 来让它工作。我不知道为什么这有效,但是如果您已经尝试了所有其他建议来处理移动野生动物园中的这种怪癖,那么这个建议可能会起作用。
相关文章:
- 转义符不能与innerHTML一起使用
- 在Safari执行javascript之前对其进行修改
- Safari(Mac OS)上的jQuery平滑滚动问题
- 高亮显示与数组字符串一起使用时文本插件中断
- $(document).height()在刷新时随机化值(Safari 5.1.10)
- setTimeout可以与闭包内的函数一起使用吗
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- 如何将js库与typescript一起使用
- 将webpack和babel与父项目目录中的文件一起使用
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- document.applet.method在Mounatin Lion上抛出safari 6+JDK7异常
- CORS 请求与 Safari 一起工作
- 代码与Firefox一起工作,但不与Chrome, Safari
- Iframe不能与safari/firefox一起工作
- 使onclick功能与ENTER一起工作;Go"Safari Mobile(iOS)上的按钮
- createElement函数不能与MAC Safari一起工作
- Java脚本密码提示符不能与Safari一起工作
- 将 .click() 方法与移动 Safari 一起使用
- TypeError: & # 39;未定义# 39;不是仅在Safari中与Tablesorter一起使用的函数