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移动行为定义为单击,而不是点击。但我不确定这是否是一个最佳的方式。我只是尝试了一下,为我工作