我在js文件中有以下代码,该文件适用于所有桌面浏览器,但不适用于以下平板电脑和电话
在ipad air / mini(使用chrome& safari)上工作正常 在HTC 1上(使用chrome&默认值)它可以正常工作
有没有人对此有任何想法? - 似乎非常多的设备断断续续,令人沮丧
var clicked = false;
$('header > div > nav > ul > li').first().find('a').on("click", function (e) {
if (clicked === false) {
clicked = true;
return true;
} else {
e.preventDefault();
e.stopPropagation();
return false;
}
});
代码基本上是在第一次单击后禁用锚链接点击事件(当用户点击它时页面重新加载 - 在href中设置)并在浏览器再次呈现页面时重新启用。
代码已经发展到你上面看到的......我最初在else块中只有e.preventDefault();
,在桌面测试中工作正常,直到我点击移动设备。
答案 0 :(得分:1)
移动浏览器没有点击事件。你需要使用touchstart或touchend。
$(...).on("click touchstart", function (e) {
应该做的伎俩