我有一些按鈕,它們允許用戶切換頁面上元素的可見性。當元素可見時,該按鈕應該突出顯示。removeClass即刻起作用,addClass只適用於失去焦點
當它變得不可見時,突出顯示會根據需要立即消失。但是當它變得可見時,突出顯示僅在按鈕失去焦點時出現。
if (column.visible()) {
$(button).addClass("highlight");
}
else {
$(button).removeClass("highlight");
}
換句話說,「刪除CSS類」具有即時效果,但「添加CSS類」不會。這裏可能會發生什麼?
更新: 這裏的的jsfiddle顯示此行爲:https://jsfiddle.net/f7cwfr3x/7/
你在哪個事件下運行你的代碼?還要注意,你可以使它成爲一行:'$(button).toggleClass(「highlight」,column.visible());' –
你可以在jsfiddle上覆制相同的內容。 http://jsfiddle.net – dreamweiver
@RoryMcCrossan它在點擊運行:$('button.toggle-vis')。on('click',function(e)... 感謝較短的版本;不幸的是問題仍然存在 – Ollyver