因此,我有一个下拉菜单。之后,955(桌面)宽度的下拉菜单使用javascript保持打开状态,而我无法将其关闭,这就是我想要的。这很好用,所以当在平板电脑上关闭菜单但可以在单击时打开菜单时,这也是我想要的。

当我手动将桌面上的屏幕宽度调整为平板电脑视图时,会发生问题,尽管在955以下,菜单保持打开状态并且无法关闭。请参见以下示例:http://bootply.com/86605

function checkWidth(init) {
    if ($(window).width() > 955) {
        $( "li#add" ).addClass( "open" );
        $('#remove').removeAttr("data-toggle");
    }
}

$(document).ready(function() {
    checkWidth(true);

    $(window).resize(function() {
        checkWidth(false);
    });
});

最佳答案

我不确定'init'参数的含义,因为它似乎什么也不做,但是您需要添加另一个条件并删除'open'类。

function checkWidth(init) {
    if ($(window).width() > 955) {
        $( "li#add" ).addClass( "open" );
        $('#remove').removeAttr("data-toggle");
    } else if($(window).width() < 955) {
        $( "li#add" ).removeClass( "open" );
    }
}

09-18 15:28