【发布时间】:2015-07-15 10:58:38
【问题描述】:
我正在尝试使以下 JSFiddle 适用于平板电脑/移动设备(例如“触摸”和“点击”)。
https://jsfiddle.net/lkw274/7zt1zL0g/87/
<div class="user-navigation">
<a class="mobile-menu-new" href=""><span></span>Menu</a>
</div>
$(document).ready(function() {
$(".user-navigation a.mobile-menu-new").click(function (e) {
e.preventDefault();
$(".user-navigation a.mobile-menu-new").toggleClass("current");
});
});
.current { background: #F00;}
预期行为: 单击“菜单”时,无论是通过触摸还是用鼠标单击,背景都会突出显示为红色,直到再次单击它时,应删除该类,删除红色背景并将其恢复为原始状态。
当前行为: 在点击“菜单”时,通过在移动/平板设备上触摸,背景会以红色突出显示,但是当第二次点击“菜单”时,该类不会被删除。
谁能帮助了解如何针对平板电脑/移动设备修改此代码?
我已经尝试了以下 StackOverflow 链接中的解决方案,但是一旦实施,点击后它就不起作用了。
document-click-function-for-touch-device
提前致谢。
【问题讨论】:
-
当前代码在我的 iPhone 上似乎可以正常工作。一个想法:我通常把
e.preventDefault()放在函数的末尾。不过应该没什么区别。
标签: javascript jquery css jquery-mobile touch