Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript e、 PreventDefault()&;e、 StopperProgation()不适用于平板电脑&;可移动的_Javascript_Jquery_Html - Fatal编程技术网

Javascript e、 PreventDefault()&;e、 StopperProgation()不适用于平板电脑&;可移动的

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 >

我在一个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中设置),并在浏览器再次呈现页面时重新启用


代码已经发展到您在上面看到的程度。。我最初只是有
e.preventDefault()在else块中,它在桌面测试中运行良好,直到我点击移动设备。

移动浏览器没有单击事件。您需要使用touchstart或touchend

$(...).on("click touchstart", function (e) {

应该做这个把戏

你试过了吗?好奇你是否有同样的问题。preventDefault和stopPropagation的意义是什么,returnfalse会同时处理这两个问题