菜单按钮在设备上不起作用

Menu Button not working on Device

// On all button click
$('button').on('click', function(e) {
    e.preventDefault();
    e.stopPropagation(); // Prevent event bubbling

    $(this).toggleClass('close'); // Toggle class 'close' of the clicked button
});


// On body click
$('body').on('click', function() {
    if ($('button.close').length) { // Check if any button is having class 'close'
    // ^^^^^^^^^^^^^^^^^^^^^^^^^^
        $('#cross').removeClass('close'); // Remove 'close' class of '#cross'
    }
});

此代码不适用于任何设备。任何人都知道为什么?菜单按钮的关闭 class 在点击时没有出现。可以注册点击,但我认为是 toggleClass 和 remove class 不起作用。由于菜单确实弹出意味着说点击可能被注册,但是class没有激活。

我找到了解决方法:

// On all button click
$('button').on('click touchstart', function(e) {
    e.preventDefault();
    e.stopPropagation(); // Prevent event bubbling

    $(this).toggleClass('close'); // Toggle class 'close' of the clicked button
});


// On body click
$('body').on('click touchstart', function() {
    if ($('button.close').length) { // Check if any button is having class 'close'
    // ^^^^^^^^^^^^^^^^^^^^^^^^^^
        $('#cross').removeClass('close'); // Remove 'close' class of '#cross'
    }
});