2011-08-02 22 views
6

有沒有辦法在jQuery中禁用圖標?例如,我在「prev/next」中使用了ui-icon-circle-triangle-w和ui-icon-circle-triangle-e,並且我希望在列表開始時和之後的時候禁用「prev」結束等如何禁用jquery UI圖標

+0

有沒有答案適合你?也許接受那個? – Nenotlep

回答

3

您可以設置.ui-圖標不顯示,它也應該隱藏圖標。您可能需要也可能不需要「重要」部分。

.ui-icon { display: none !important; } 
+0

謝謝,但我實際上希望圖標仍然顯示但顯示禁用(變灰)。看到我的答案爲我提出的解決方案。 –

6

我想這應該是顯而易見的,但它沒有在如何使用圖標的主要文檔。您只需將「ui-state-disabled」類添加到該元素即可。因此,例如通過javascript,你可能會這樣做:

$('')。addClass('ui-state-disabled');

1

這是舊的,但我今天遇到,所以我想我會清理它。 .addClass('ui-state-disabled')將應用css給它禁用的外觀。但是如果你有事件綁定到圖標,它仍然會觸發。你還必須確保你的js知道什麼時候禁用它。也許使用if hasClass('ui-state-disabled')。但只是添加CSS類不會「禁用」圖標。

1

如果你想保留對角線「SE」無柄的圖標最好的是:

.ui-icon { background-image:none  !important; } 
0

您可以將元素添加CSS opacity:0.7。我認爲這不僅適用於文本,而且適用於元素中的圖標或其他元素。

我寫了一個DEMO

的關鍵組件是:

.disable{ 
    opacity:0.7; 
} 

...這DEMO與圖標

+0

此答案被系統標記爲「檢查低質量」。我可以看到它實際上是一個答案,但如果您給出了更多的上下文,它可能會更有幫助 - 例如showiung語法如何添加它。正確的語法也可以保存你的問題,評論者可以很快地將它打成「低質量 - 刪除」。我修正了語法,但只有你可以添加必要的上下文。 – GreenAsJade

+0

@GreenAsJade我修改了我的答案。 – Jesse

+0

不錯!我冒昧地稍微闡述了一下,因爲觸發警報的另一件事是僅依賴於鏈接的答案:)我希望你不介意我的介入。感謝您的貢獻! – GreenAsJade

0

您不能禁用它們,因爲它們不是 'HTML' 元素所以最好的方法是使用'unbind()'方法,如:$('#icon-plus-sign')。unbind('click');