我正在尝试创建一个包含两个jQuery对话框的简单页面,其功能是在每个获取或丢失焦点时更改其标题栏颜色。换句话说,聚焦窗口具有不同的标题栏颜色,这使得更容易区分具有焦点。 我有这段代码:
$(function () {
$(".window").dialog({
focus: function (event, ui) {
$(this).parents(".ui-dialog:first").find(".ui-dialog-titlebar").addClass("ui-state-error");
}
});
但我不知道如何在焦点事件中检测它是否会失去焦点。
答案 0 :(得分:3)
答案 1 :(得分:1)
答案 2 :(得分:1)
仅在获得焦点时调用对话框focus
事件。股票jQuery UI对话框没有失去焦点的概念。
一个简单的解决方案是从ui-state-error
处理程序中的每个对话框中删除focus
类,然后将其添加到刚收到焦点的那个。
我实际上已经编写了一个功能齐全的jQuery UI插件,它在对话框中添加了.blur
事件,并在最顶层的框关闭时处理重新排序的堆积框。我会检查是否允许我发布它。