簡體   English   中英

在jQuery中切換元素類?

[英]Toggle element class with jQuery?

我一直對此代碼有問題

$("#click").bind('mousedown mouseup mouseover', function(e) {
    if(e.type === 'mouseover'){
        $(this).addClass('open'); //works!
    }
    if(e.type === 'mousedown'){
       $(this).removeClass().addClass('closed'); //works!
    }
    if(e.type === 'mouseup'){
       $(this).removeClass().addClass('open');
       // The above line doesn't work :(
    }
});

這里演示此代碼僅適用於鼠標懸停,鼠標按下, 而不適用於鼠標松開。 當我取消注釋$(this).removeClass().addClass('open'); mousedown事件也會停止觸發。

有人知道可能是什么問題嗎?

固定: http : //jsfiddle.net/U544t/2/

您需要刪除不需要的課程,然后添加您需要的課程。 您最終將div同時openclosed ,因此它僅顯示關閉的圖標。

除非我缺少任何東西,否則似乎可以使用toggleClass()更加有效地執行此操作,而不是自己進行所有添加/刪除操作。 而且,您可能不需要兩個類(僅是默認狀態)和.open類即可在切換時觸發活動類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM