Javascript 如何禁用单个菜单项?
显然我还有一个Webix问题 我正在尝试禁用单个菜单项,但子菜单的Javascript 如何禁用单个菜单项?,javascript,html,drop-down-menu,menu,webix,Javascript,Html,Drop Down Menu,Menu,Webix,显然我还有一个Webix问题 我正在尝试禁用单个菜单项,但子菜单的onItemClick操作仍然有效。这是我的密码: webix.ui({ view:"menu", id:'menu', data:[ { id:'root', value:'Available actions', config:{ on: { onItemClick: function(id){ webix.messag
onItemClick
操作仍然有效。这是我的密码:
webix.ui({
view:"menu",
id:'menu',
data:[
{
id:'root',
value:'Available actions',
config:{
on: {
onItemClick: function(id){ webix.message(id) }
}
},
submenu:[
{ id:'1', value:'Open...' }
]
}
]
});
$$('menu').disableItem('1');
全样本:
我哪里错了,有没有办法禁用菜单项?将
onItemClick
更改为onMenuItemClick
例如:
发件人:
这两种方法都可以在菜单内部事件中使用,例如,单击事件:
onMenuItemClick-单击所有菜单项时激发,而不考虑层次结构级别。忽略禁用的项目;
onItemClick—单击同一层次结构级别的任何项时触发的标准事件。也为禁用的项目激发
将
onItemClick
更改为onMenuItemClick
例如:
发件人:
这两种方法都可以在菜单内部事件中使用,例如,单击事件:
onMenuItemClick-单击所有菜单项时激发,而不考虑层次结构级别。忽略禁用的项目;
onItemClick—单击同一层次结构级别的任何项时触发的标准事件。也为禁用的项目激发
日志在这里
函数(t){this.getMenu(t).addCss(t,“webix_已禁用”);}
日志在这里
函数(t){if(this.data.pull[t])返回此;for(this.data.pull中的变量e){var i=this.getItem(e);if(i.submenu){var s=this.br(i).getMenu(t);if(s)返回s}}
您可以通过单击筛选id=='1'
onItemClick:function(id){if(id!='1'){//code here}
或者更改菜单项单击
遵循#1答案
日志在这里
函数(t){this.getMenu(t).addCss(t,“webix_已禁用”);}
日志在这里
函数(t){if(this.data.pull[t])返回此;for(this.data.pull中的变量e){var i=this.getItem(e);if(i.submenu){var s=this.br(i).getMenu(t);if(s)返回s}}
您可以通过单击筛选id=='1'
onItemClick:function(id){if(id!='1'){//code here}
或者更改菜单项单击
按照#1回答
谢谢!一个重要的更正-似乎应该为菜单定义onMenuItemClick
,而不是为其项目定义:谢谢!一个重要的更正-似乎应该为菜单定义onMenuItemClick
,而不是为其项定义:>仅为id=1添加禁用类谢谢您的解释!AFAICSonMenuItemClick
根据需要处理它>仅为id=1添加禁用类谢谢您的解释!AFAICSonMenuItemClick
根据需要处理它
console.log($$('menu').disableItem)
console.log($$('menu').getMenu)
$$('menu').disableItem('1'); // only add disabled class for id=1