我试图将键绑定到一些组件。我的问题是,只有最后一个组件将有一个键绑定到它。例如:
switch(element.id) {
case "menu-1193":
this.keyNav = new Ext.util.KeyMap({
target: element.id,
binding: [{
key: "l",
shift: true,
fn: function() {
alert("It works");
},
key: "t",
fn: function() {
alert("yet again");
}
}]
});
break;
上面的键绑定只作用于最后一个键绑定,即这里的键"t"。键"l"不起作用或被绑定。
如果我再添加一个键绑定,那么键t将不再工作,但是新绑定的键将工作。例如
switch(element.id) {
case "menu-1193":
this.keyNav = new Ext.util.KeyMap({
target: element.id,
binding: [{
key: "l",
shift: true,
fn: function() {
alert("It works");
},
key: "t",
fn: function() {
alert("yet again");
},
key: "i",
fn: function() {
alert("yet again");
}
}]
});
break;
case: "menu-1194"
...
这里键"i"被绑定并工作,但键"t"不再工作。我该怎么做呢?我从这里的答案中得到了灵感:如何在extjs中创建快捷键
但是我有一个特殊的情况,我有一个下拉菜单,我需要将键绑定到下拉菜单中的子键
这是因为您缺少右括号。你应该使用更好的格式和字体,这将很容易发现。
switch (element.id) {
case "menu-1193":
this.keyNav = new Ext.util.KeyMap({
target: element.id,
binding: [{
key: "l",
shift: true,
fn: function() {
alert("It works");
}
} /* <-- THIS WAS MISSING */ , { /* <-- AND THIS */
key: "t",
fn: function() {
alert("yet again");
}
}]
});
break;