我正在尝试将键绑定到某些组件。 我的问题是,只有最后一个组件才会有一个绑定的密钥。 例如:
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"不再起作用了。我怎么能这样做呢?我从答案中得到了灵感:how to create shortcut keys in extjs
但是我有一个特殊情况,我有一个下拉列表,我需要在下拉列表中为孩子们绑定密钥
答案 0 :(得分:1)
那是因为你错过了右括号。你应该使用更好的格式和LINTing,这很容易发现。
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;