$(window).resize函数奇怪的行为

时间:2015-10-20 07:11:10

标签: javascript jquery

如果语句mouseenter为false,我有一个$("."+ElementID+"-delta-ui-dropdown-appendHere").attr('style') == 'display: block;'){事件从元素中删除一个类。

直到我添加了一个通过调整浏览器大小触发的事件,它才能完美运行。最初加载时,mouseenter事件工作正常,但是当我调整浏览器大小时,即使条件为真,mouseenter事件也会删除该类。

如果我删除$(window).resize代码,则mouseenter事件会再次发挥作用。

//this is the code triggered

var getWidth = $("."+ElementID+"-delta-ui-dropdown-appendHere").outerWidth();

$(window).resize(function() {
    // This will execute whenever the window is resized
    if ($(window).width() >= 992) {
        console.log('original');
        $(".delta-ui-dropdown-common-"+ElementID+"").css({width:getWidth});
    } else {
        var inputGroupWidth = $(".delta-ui-dropdown-"+ElementID+"").width();
        $(".delta-ui-dropdown-common-"+ElementID+"").css({width:inputGroupWidth});
        console.log('fit');
    }
});



//this code removes the class even though the condition is true

$('.delta-ui-dropdown-icon-'+ElementID).mouseenter(function() {
    if ($("."+ElementID+"-delta-ui-dropdown-appendHere").attr('style') == 'display: block;') {

    } else {
        $('.delta-ui-dropdown-icon-'+ElementID).removeClass('focus');
    }   
});

1 个答案:

答案 0 :(得分:5)

您的if条件始终为false。请尝试使用css,如下所示:

$('.delta-ui-dropdown-icon-'+ElementID).mouseenter(function() {
    if($("."+ElementID+"-delta-ui-dropdown-appendHere").css('display') == "block") {

    } else {
        $('.delta-ui-dropdown-icon-'+ElementID).removeClass('focus');
    }   
});