У меня есть событие 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');
}
});
используется странный способ, чтобы проверить дисплей является блок ... Вы можете использовать CSS («Дисплей»), чтобы получить его значение. Или вы можете использовать: visible /: скрытый селектор, чтобы узнать погоду, это видно/скрыто. –
@ AntonM. извините, сэр .., теперь я изменю свой код. =) –