我在我的一个网站上创建了一个侧面导航栏。在点击身体时,我需要隐藏我在下面的代码中使用的导航栏 -
jQuery(document.body).on('click', function (e) {
e.stopPropagation();
try {
closeNav();
} catch (ex) {
}
});
但是在IOS设备中,机身点击不起作用。为此我搜索了它的解决方案。许多人建议将touchstart
事件与click事件一起放置。我尝试了但是在滚动时该事件正在发射。
我也尝试了touch
事件,但它不起作用。
我也尝试了以下方法 -
jQuery(document).on('touchstart', function () {
documentClick = true;
});
jQuery(document).on('touchmove', function () {
documentClick = false;
});
jQuery(document).on('click touchend', function (event) {
if (event.type == "click") documentClick = true;
if (documentClick) {
try {
closeNav();
} catch (ex) {
}
}
});
我也尝试在document.body
上设置这些事件。但它没有用。
所以我将这些事件放在document
上。但是这些事件现在正在处理整个文档。我只想在身体上发射点击事件。
答案 0 :(得分:-1)
只需将您的jQuery(document)
和jQuery(document.body)
替换为jQuery("body")
,它应该可以试试这个:)