2012-12-31 49 views
0

我有以下問題:我做了一個選項對話框,爲每行,一些文本和一個按鈕,通過一個開關之間更改狀態請求服務器。如何避免按鈕單擊和懸停突出顯示在JQueryUI

每當我將鼠標懸停在按鈕上時,它都會以其「懸停」狀態突出顯示,當我點擊它時,它會變成「單擊」狀態,然後我釋放鼠標並再次恢復正常。這正是我期望的,因爲這是正常的行爲。

但是我想做的事情,這讓我瘋狂,因爲我無法在任何地方找到它,是按鈕不會響應我的鼠標懸停,點擊,並且我可以激活或停用用服務器響應「點擊」狀態。我怎麼做到這一點?

我有以下代碼初始化對話框,按鈕:

<script> 
    $(document).ready(function() { 
     $("#dlg1").dialog(); 
     $(".settings_buttons").button(); 
    }); 
</script> 

和對話的HTML設置和按鈕:

<div id="dlg1" title="Global device settings" class="dialog_window"> 

     <table> 
      <form> 
       <tr> 
        <td><h2>Setting</h2></td> 
        <td><button id="btn2" class="settings_buttons">OFF</button></td> 
       </tr> 
      </form> 
     </table> 

    </div> 

+0

如果您提供一些HTML代碼,那就太好了。 –

+0

查看哪些類動態添加到btn2,然後通過刪除特定類來編寫您的邏輯 –

回答

1

您嘗試禁用按鈕嗎?這是最快的,但mayby不是最好的解決辦法只是把:

<td><button id="btn2" class="settings_buttons" disabled="disabled">OFF</button></td> 

您應該使用禁用=「禁用」爲crose瀏覽器造成的。

+0

我已經嘗試過,但由於我使用多個可選主題,因此無法獲得理想的結果,無論如何,我都將啓用/禁用狀態置於現在分開的圖像。謝謝您的回答。 – Twinone

0

您可以定義一個樣式對於像這樣的所有按鈕:

.dupe{ 
-webkit-border-radius: 2px; 
-moz-border-radius: 2px; 
border-radius: 2px; 
background-image: -webkit-gradient(
    linear, 
    left bottom, 
    left top, 
    color-stop(0.16, rgb(207,207,207)), 
    color-stop(0.79, rgb(252,252,252)) 
); 
    background-image: -moz-linear-gradient(
    center bottom, 
    rgb(207,207,207) 16%, 
    rgb(252,252,252) 79% 
); 
padding:0px; 
border:1px solid #6e6b6b;} 

請參閱demo