JavaScript-在手机上不工作的情况下,在外部单击时隐藏元素
JavaScript - hide element when click outside not working on mobile phone
使用此代码,隐藏模式窗口在台式机上运行良好
$(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');
}
});
但是这个代码在手机上不起作用(我试过iPhone 5-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 mobile行为定义为单击,而不是点击。但我不确定这是否是一种最佳方式。我只是尝试了一下,并为我工作。
相关文章:
- 边栏仅在单击外部时关闭单击
- 单击外部时,Twiiter Bootstrap Modal未关闭
- 只有在单击外部li时才会触发的事件
- 单击外部链接后重定向,只打开一个选项卡/窗口
- 在Qualtrics中单击外部链接时进行跟踪
- jQuery 单击外部元素可向上或向下移动包含选中复选框的无序列表项
- 当我们在平板电脑上单击外部时,如何关闭引导程序 3 下拉菜单
- 在单击外部 Via 挖空绑定处理程序时,从引导程序 3.3.6 关闭弹出框
- 如何在单击外部时关闭侧边栏
- 如何在单击外部时关闭模式
- Javascript在单击外部时弹出隐藏,并显示是否单击了链接
- 防止在单击外部时关闭日期选取器
- 通过单击外部链接来寻址谷歌地图以更改 setZoom
- 通过单击外部关闭引导弹出窗口
- 分解javascript/jquery代码,以便在单击外部时隐藏模态
- 如何在 angular js 中单击外部关闭弹出窗口
- 响应式菜单在单击外部时不会切换或关闭
- 角度材质 md 菜单元素如果在具有 z 索引的固定元素上单击外部,则不会关闭
- 使用此脚本通过单击外部关闭按钮时遇到问题
- iPad 上的 jQuery UI 选择菜单在单击外部时无法正确关闭