2011-06-27 75 views
0

我試圖做一個簡單的頁面與兩個jQuery對話框的功能改變他們的標題欄顏色時,每個獲得或失去焦點。換句話說,聚焦窗口具有不同的標題欄顏色,這使得更容易區分哪個焦點。 我有這樣的代碼:改變風格的jQuery對話框標題欄時得到/失去焦點


$(function() { 
    $(".window").dialog({ 
    focus: function (event, ui) { 
     $(this).parents(".ui-dialog:first").find(".ui-dialog-titlebar").addClass("ui-state-error"); 
    } 
}); 

,但我不知道如何在焦點事件是否是它得到或losts集中檢測。

回答

1
+0

聽起來不錯,不能用我的代碼(至少在小提琴)http://jsfiddle.net/mplungjan/8NYV9/ – mplungjan

+0

似乎div元素不會觸發任何焦點點擊時。相反,我能夠得到一個結果點擊,但我沒有能夠按類選擇jQ對話框的標題欄。 雖然這工作得很好。 http://jsfiddle.net/8NYV9/2/ 如果只有你可以選擇你想改變它的類的元素,這應該爲你做的工作,我猜。 – TheDeadLike

+0

有趣的是,我刪除了我的評論與「嘗試更改爲.click」;) – mplungjan

1

對話框focus事件僅在獲得焦點時纔會調用。股票jQuery UI對話框沒有失去焦點的概念。

一個簡單的解決方案是簡單地從刪除您ui-state-error類每對話框中focus處理程序,然後將其添加到剛剛收到的焦點之一。

我實際上編寫了一個全功能的jQuery UI插件,它將一個.blur事件添加到對話框中,並在最上面的框關閉時處理堆疊框的重新排序。我會檢查是否允許發佈它。

相關問題