2013-02-07 68 views
1

我打算在頁面上有多個無模式對話框。我希望當點擊一個對話框時,它會得到.ui-state-focus類,並且在點擊時它會被刪除,因此我可以輕鬆地設置一個活動/非活動對話框的樣式。我基本上想要改變它的邊框顏色。如何將風格專注於jQuery UI對話框小部件?

我正在使用jqueryUI 1.10,不幸的是,我沒有看到反正風格只使用CSS對話框關閉/關閉對話框。

添加此功能的最佳方式是什麼?我願意根據原始對話框小部件派生出一個新的對話框小部件,但是如果能夠最好地對其進行編碼,我們將不勝感激。

回答

2

事情是這樣的:

$('.ui-dialog').on('click', function() { 
    $('.ui-dialog').removeClass('ui-state-focus'); 
    $(this).addClass('ui-state-focus'); 
}); 

如果用戶點擊任何東西比任何其他對話刪除焦點:

$(document).on('click', function(e) { 
    var $target = $(e.target); 
    if(!$target.hasClass('ui-dialog') && $target.parents().hasClass('ui-dialog')) { 
     $('.ui-dialog').removeClass('ui-state-focus'); 
    } 
}); 
+0

很不錯的!當我學習jQuery UI時,這對我正在構建的界面非常有幫助。對我來說,重要的部分是第二個功能,通過點擊刪除焦點類來全局模糊所有對話框。 – zoltar