Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用比设置的对话框z索引高1的值,然后使用selectmenu初始化中的“类”选项将该类指定给“ui selectmenu open”(单击按钮并打开菜单时添加到ui selectmenu菜单包装元素的类)_Jquery_Jquery Ui - Fatal编程技术网

Jquery 使用比设置的对话框z索引高1的值,然后使用selectmenu初始化中的“类”选项将该类指定给“ui selectmenu open”(单击按钮并打开菜单时添加到ui selectmenu菜单包装元素的类)

Jquery 使用比设置的对话框z索引高1的值,然后使用selectmenu初始化中的“类”选项将该类指定给“ui selectmenu open”(单击按钮并打开菜单时添加到ui selectmenu菜单包装元素的类),jquery,jquery-ui,Jquery,Jquery Ui,备选方案#1 在第一个示例中,在selectmenu初始化后必须包含上述内容 $('#menu1').selectmenu({ *setup and functions added here* }); $('#menu1-menu').parent().css('z-index', '751'); 请注意,至少对我来说,尝试在受影响的selectmenu的create事件中包含代码没有任何效果,它必须在菜单初始化之后单独调用 备选方案2 第二个例子更有效 只需将.maxz的z索引值设置

备选方案#1

在第一个示例中,在selectmenu初始化后必须包含上述内容

$('#menu1').selectmenu({
    *setup and functions added here*
});
$('#menu1-menu').parent().css('z-index', '751');
请注意,至少对我来说,尝试在受影响的selectmenu的create事件中包含代码没有任何效果,它必须在菜单初始化之后单独调用

备选方案2

第二个例子更有效

只需将.maxz的z索引值设置为所有对话框+1的最高z索引集。(我不确定我是否理解使用5个不同的z索引的5个不同对话框的原因,但任何事情都是可能的。)

如果有多个SelectMenu需要通过此过程进行初始化,并且所有SelectMenu共享相同的事件,只需按类对它们进行分组,并按类而不是id进行初始化,添加上述类选项

但是,如果您有多个选择菜单,每个菜单具有不同的设置属性(即类、函数等),则可以如上所述向每个菜单添加类,或者向每个选择菜单添加一个类,如“s-max-z”,然后在初始化所有菜单后执行以下

$('.s-max-z').selectmenu("option", "classes.ui-selectmenu-open", "maxz");
注意事项:

在初始化对话框小部件时使用classes选项(同时使用modal:true)将z-index返回到默认值,然后使用接受的答案几乎成功了。selectmenu的z索引已正确重置,并在对话框上方打开,问题是您无法进入对话框执行任何操作

CSS

JavaScript

$('#selectmenu').selectmenu({
    classes: {
        "ui-selectmenu-open": "maxz"
    }
})
$('#dialog').dialog({
    modal: true,
    classes: {
        "ui-dialog": "minz"
    }
})
发生的事情是对话框在小部件覆盖后面打开,它仍然最初为CSS中的对话框设置了原始的z-index-1(在我的例子中是749)

由于小部件覆盖被创建一次并附加到主体的末尾,因此如果没有大量额外的CSS/JavaScript,就不可能为出现的每个对话框不断重置小部件覆盖的z索引


即使只有一个对话框,小部件的CSS也必须单独设置(我在对话框的类中尝试了它,没有任何影响)

不,这不是它-实际的选择应该是隐藏的,有一个“假”的,看起来更漂亮,更新了背景中的选择。
display:hidden
比你想象的好。
$('#selectmenu-menu').parent().css('z-index', '751');
.maxz {
    z-index: 751;
}
$('#selectmenu').selectmenu({
    classes: {
        "ui-selectmenu-open": "maxz"
    }
})
$('#menu1').selectmenu({
    *setup and functions added here*
});
$('#menu1-menu').parent().css('z-index', '751');
$('.s-max-z').selectmenu("option", "classes.ui-selectmenu-open", "maxz");
.minz {
    z-index: initial;
}
$('#dialog').dialog({
    modal: true,
    classes: {
        "ui-dialog": "minz"
    }
})