mirror of
https://gitee.com/layui/layui.git
synced 2025-10-07 23:24:32 +08:00
refactor: 重构 dropdown 打开与关闭逻辑 (#2349)
* refactor: 重构 dropdown 打开与关闭逻辑 * chore: 优化变量 * refactor: 保留采用 elem 的 jQuery Data 进行面板打开状态的判断 * fix: 优化延时移除面板时的实例不一致的问题
This commit is contained in:
@@ -46,6 +46,7 @@ layui.use(function(){
|
||||
// 绑定输入框
|
||||
dropdown.render({
|
||||
elem: '#ID-dropdown-demo-base-input',
|
||||
closeOnClick: false, // 不开启“打开与关闭的自动切换”,即点击输入框时始终为打开状态
|
||||
data: [{
|
||||
title: 'menu item 1',
|
||||
id: 101
|
||||
@@ -118,4 +119,4 @@ layui.use(function(){
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
@@ -65,20 +65,22 @@ layui.use(function(){
|
||||
|
||||
// 其他操作
|
||||
util.event('lay-on', {
|
||||
// 全局右键菜单
|
||||
// 改变触发右键菜单的目标元素
|
||||
contextmenu: function(othis){
|
||||
var ID = 'ID-dropdown-demo-contextmenu';
|
||||
if(!othis.data('open')){
|
||||
if (!othis.data('open')) {
|
||||
dropdown.reload(ID, {
|
||||
elem: document // 将事件直接绑定到 document
|
||||
elem: document // 设置全局元素右键
|
||||
});
|
||||
|
||||
layer.msg('已开启全局右键菜单,请尝试在页面任意处单击右键。')
|
||||
othis.html('取消全局右键菜单');
|
||||
othis.data('open', true);
|
||||
} else {
|
||||
dropdown.reload(ID, {
|
||||
elem: '#'+ ID // 重新绑定到指定元素上
|
||||
elem: '#'+ ID // 设置局部元素右键
|
||||
});
|
||||
|
||||
layer.msg('已取消全局右键菜单,恢复默认右键菜单')
|
||||
othis.html('开启全局右键菜单');
|
||||
othis.data('open', false);
|
||||
@@ -86,4 +88,4 @@ layui.use(function(){
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user