【发布时间】:2015-01-16 02:55:09
【问题描述】:
我在一个 js 文件中有以下代码,它在所有桌面浏览器上都可以正常工作,但在以下平板电脑和手机上却不行
- 三星 S4(Chrome 和默认浏览器)
- iPhone 4S(chrome 和 safari)
在 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();,它在桌面测试中运行良好,直到我使用移动设备。
【问题讨论】:
-
你试过
.one()吗?好奇你是否有同样的问题。 -
preventDefault 和 stopPropagation 有什么意义,return false 两者兼顾
标签: javascript jquery html