Javascript e、 PreventDefault()&;e、 StopperProgation()不适用于平板电脑&;可移动的
我在一个js文件中有以下代码,它在所有桌面浏览器上都能正常工作,但在以下平板电脑和手机上却不能Javascript e、 PreventDefault()&;e、 StopperProgation()不适用于平板电脑&;可移动的,javascript,jquery,html,Javascript,Jquery,Html,我在一个js文件中有以下代码,它在所有桌面浏览器上都能正常工作,但在以下平板电脑和手机上却不能 三星S4(chrome和默认浏览器) iPhone 4S(chrome和safari) 在ipad air/mini(使用chrome和safari)上,它运行良好 在HTC 1上(使用chrome和默认设置),它可以正常工作 有人对此有什么想法吗这似乎非常令人沮丧 var clicked = false; $('header > div > nav > ul >
- 三星S4(chrome和默认浏览器)
- iPhone 4S(chrome和safari)
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中设置),并在浏览器再次呈现页面时重新启用
代码已经发展到您在上面看到的程度。。我最初只是有
e.preventDefault()代码>在else块中,它在桌面测试中运行良好,直到我点击移动设备。移动浏览器没有单击事件。您需要使用touchstart或touchend
$(...).on("click touchstart", function (e) {
应该做这个把戏你试过了吗?好奇你是否有同样的问题。preventDefault和stopPropagation的意义是什么,returnfalse会同时处理这两个问题