2015-10-20 3 views
1

У меня есть событие mouseenter, которое удаляет класс из элемента, если оператор $("."+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

используется странный способ, чтобы проверить дисплей является блок ... Вы можете использовать CSS («Дисплей»), чтобы получить его значение. Или вы можете использовать: visible /: скрытый селектор, чтобы узнать погоду, это видно/скрыто. –

+0

@ AntonM. извините, сэр .., теперь я изменю свой код. =) –

ответ

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'); 
    } 
}); 
+1

Спасибо, исправлена ​​моя проблема .. проблема в условии mouseenter ... вы - отличная помощь. –

+0

В любое время .. Счастливое кодирование .. :) –