【问题标题】:Background colour change on Click/Touch event not working on touch devices单击/触摸事件的背景颜色更改在触摸设备上不起作用
【发布时间】:2018-10-08 13:36:24
【问题描述】:

当我的菜单覆盖在触摸设备上显示时(在 iphone 和 ipad 上测试),所有内容都会显示,例如链接等,但背景颜色没有从透明改变。

在我的桌面和其他桌面上一切正常,看起来很简单。我的代码中是否有错误导致它无法在移动设备上运行?

https://codepen.io/whitinggg/pen/bLzxGG

$(document).ready(function () {

    $(".menu-btn a").on('click touch', function () {
        var scroll = $(window).scrollTop();
        $(".overlay").fadeToggle(200);
        $(this).toggleClass('btn-open').toggleClass('btn-close');

        if( $(this).hasClass('btn-close') ) {
            $(".navbar").css("background-color", "transparent");
        }
        else if( scroll > 100) {
            $(".navbar").css("background-color", "#CEB400");
        }
    });

    // $('.overlay').on('click', function () {
    //    $(".overlay").fadeToggle(200);
    //    $(".menu-btn a").toggleClass('btn-open').toggleClass('btn-close');
    // });

    $('.menu a').on('click touch', function () {
        $(".overlay").fadeToggle(200);
        $(".menu-btn a").toggleClass('btn-open').toggleClass('btn-close');
    });

});

$(document).ready(function() {
    $(window).scroll(function() {
        var scroll = $(window).scrollTop();
        if (scroll > 100) {
            if($('.overlay:visible').length == 0) {
                $(".navbar").css("background-color", "#CEB400");
            }
        } else {
            $(".navbar").css("background-color", "transparent");
        }
    });
});

【问题讨论】:

    标签: javascript jquery ios onclick touch


    【解决方案1】:

    我不相信 jQuery(或 jQuery mobile)有“触摸”事件。您可能正在寻找tap

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多