2015-10-20 69 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 /:hidden選擇器來查找它可見/隱藏的天氣。 –

+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

感謝解決了我的問題..問題是鼠標的條件...你是一個很好的幫助。 –

+0

隨時隨地..快樂編碼.. :) –