Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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-在手机上单击“外部不工作”时隐藏元素_Javascript_Jquery_Mobile - Fatal编程技术网

JavaScript-在手机上单击“外部不工作”时隐藏元素

JavaScript-在手机上单击“外部不工作”时隐藏元素,javascript,jquery,mobile,Javascript,Jquery,Mobile,使用此代码,隐藏模式窗口在桌面计算机上可以正常工作 $(document).mouseup(function (e){ if ($("#full_window_dim").is(':visible') && !$("#hodnotenie_hl_okno").is(e.target) && $("#hodnotenie_hl_okno").has(e.target).length === 0){ $("#full_window_dim").

使用此代码,隐藏模式窗口在桌面计算机上可以正常工作

$(document).mouseup(function (e){
    if ($("#full_window_dim").is(':visible') && !$("#hodnotenie_hl_okno").is(e.target) && $("#hodnotenie_hl_okno").has(e.target).length === 0){
        $("#full_window_dim").fadeOut();
        $('html, body').removeClass('stop-scrolling');
}
});
但这段代码在手机上不起作用(我用iPhone5-Safari试过)


当用户在手机窗口外轻触时,如何隐藏该元素?

您可以在手机上使用touchstart,因为大多数设备不了解鼠标事件

这是密码。您可以包含任意数量的事件

function HideModal(){
    if ($("#full_window_dim").is(':visible') && !$("#hodnotenie_hl_okno").is(e.target) && $("#hodnotenie_hl_okno").has(e.target).length === 0){
        $("#full_window_dim").fadeOut();
        $('html, body').removeClass('stop-scrolling');
    }
}

 $(document).on({
        "touchstart": function (event) { HideModal(); },
        "mouseup": function (event) { HideModal(); }
});
您可以为移动css定义“body{cursor:pointer}”,然后将Safari移动行为定义为单击,而不是点击。但我不确定这是否是一个最佳的方式。我只是尝试了一下,为我工作