点击不在ios设备

时间:2017-12-26 04:35:03

标签: javascript jquery html ios

我在我的一个网站上创建了一个侧面导航栏。在点击身体时,我需要隐藏我在下面的代码中使用的导航栏 -

    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上。但是这些事件现在正在处理整个文档。我只想在身体上发射点击事件。

1 个答案:

答案 0 :(得分:-1)

只需将您的jQuery(document)jQuery(document.body)替换为jQuery("body"),它应该可以试试这个:)