Javascript 我能';似乎没有办法通过swisnl在jQuery ContextMenu上获取单选按钮组单击事件
我正在尝试使用一个ContextMenu库,它不仅提供简单的上下文菜单,还提供输入,例如单选按钮、输入文本、文本区域等 问题是,在做了一个小测试示例之后,我无法在单选按钮组中添加单击事件,这很奇怪,因为看起来单击事件对其他输入有效,即使是“keyup”事件,但单选按钮无效 这是库,此链接上的示例包含单选按钮: 以下是我的小例子:Javascript 我能';似乎没有办法通过swisnl在jQuery ContextMenu上获取单选按钮组单击事件,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用一个ContextMenu库,它不仅提供简单的上下文菜单,还提供输入,例如单选按钮、输入文本、文本区域等 问题是,在做了一个小测试示例之后,我无法在单选按钮组中添加单击事件,这很奇怪,因为看起来单击事件对其他输入有效,即使是“keyup”事件,但单选按钮无效 这是库,此链接上的示例包含单选按钮: 以下是我的小例子: items: { "settings": { "name": "Settings",
items: {
"settings": {
"name": "Settings",
"items" : {
"auto" : {
"name" : "Auto",
"type" : "radio",
"radio" : "radioGroup",
"value" : "auto"
},
"on" : {
"name" : "On",
"type" : "radio",
"radio" : "radioGroup",
"value" : "on"
},
"off" : {
"name" : "Off",
"type" : "radio",
"radio" : "radioGroup",
"value" : "off"
}
},
"events" : {
"click" : function(e) {
console.log(e);
}
}
},
我尝试了其他事件,比如“更改”,或者不是“事件”,而是添加了一个“回调”:function()
。。。但是没有起作用。好像不见了。
我希望能够做一些事情,每当设置被修改
谢谢。根据文档()可能的解决方案是:
$(函数(){
$.contextMenu({
选择器:'.关联菜单一',
项目:{
“设置”:{
名称:“设置”
},
“自动”:{
“名称”:“自动”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“自动”
},
“关于”:{
“姓名”:“开”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“开”
},
“关”:{
“名称”:“关闭”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“关”
}
}
});
$(文档).on(“更改”,“上下文菜单项”,函数(e){
警报(“单击的项目:+$(this.text());
});
});代码>
右键单击我
根据文档()可能的解决方案是:
$(函数(){
$.contextMenu({
选择器:'.关联菜单一',
项目:{
“设置”:{
名称:“设置”
},
“自动”:{
“名称”:“自动”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“自动”
},
“关于”:{
“姓名”:“开”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“开”
},
“关”:{
“名称”:“关闭”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“关”
}
}
});
$(文档).on(“更改”,“上下文菜单项”,函数(e){
警报(“单击的项目:+$(this.text());
});
});代码>
右键单击我
无需将事件绑定到文档
。正如您在上所看到的,将事件绑定到自定义输入的方法如下:
$.contextMenu({
选择器:'.关联菜单一',
回调:函数(键、选项){
var m=“全局:”+键;
window.console&&console.log(m)| | alert(m);
},
项目:{
“自动”:{
“名称”:“已启用”,
“类型”:“复选框”,
活动:{
点击:功能(e){
log('Clicked checkbox');
}
}
},
“on1”:{
“姓名”:“开”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“开”,
活动:{
点击:功能(e){
log('Clicked On');
}
}
},
“off1”:{
“名称”:“关闭”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“关”,
活动:{
点击:功能(e){
log('Clicked Off');
}
}
}
}
});代码>
右键单击我
无需将事件绑定到文档
。正如您在上所看到的,将事件绑定到自定义输入的方法如下:
$.contextMenu({
选择器:'.关联菜单一',
回调:函数(键、选项){
var m=“全局:”+键;
window.console&&console.log(m)| | alert(m);
},
项目:{
“自动”:{
“名称”:“已启用”,
“类型”:“复选框”,
活动:{
点击:功能(e){
log('Clicked checkbox');
}
}
},
“on1”:{
“姓名”:“开”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“开”,
活动:{
点击:功能(e){
log('Clicked On');
}
}
},
“off1”:{
“名称”:“关闭”,
“类型”:“收音机”,
“无线电”:“无线电组”,
“值”:“关”,
活动:{
点击:功能(e){
log('Clicked Off');
}
}
}
}
});代码>
右键单击我
这是您尝试分配的全局上下文菜单事件,对于单个项目,您应该定义回调,如中所示。是的,我也尝试过,但没有成功,可能是我将其放置在错误的位置?您上面显示的位置肯定是错误的。@skobaljic我尝试将其放置在“off”对象之后,回调应该在单个项目中,正如我在上面的文档页面上看到的那样。您还可以设置全局回调。。。请参阅该页上的代码。查看注释。这是您尝试分配的全局上下文菜单事件,对于单个项,您应该定义回调,如中所示。是的,我也尝试过,但没有成功,可能是我将其放置在错误的位置?您上面显示的位置肯定是错误的。@skobaljic我尝试将其放置在“off”对象之后,回调应该在单个项目中,正如我在上面的文档页面上看到的那样。您还可以设置全局回调。。。请参阅该页上的代码。看看评论,很好!成功了。我不想使用图书馆结构之外的东西,但没关系,看来我没有其他办法。谢谢:)胡说八道,如果他们真的这么做了,并且创造了这个例子,那么它就必须起作用。你嘘