我有一个应用程序3键盘快捷键。他们只被解雇,如果重点是网格行内,所以我添加了一个监听器来处理这个问题:Javascript中的多个热键代码
if (grid) {
var host = grid.hostElement;
//handle the keydown event
host.addEventListener('keydown', function (e) {
if (e.altKey && e.key == "q") {
doSomething(grid);
}
if (e.altKey && e.key == "n") {
doSomethingElse(grid);
}
if (e.altKey && e.key == "u") {
doAThirdThing(grid);
}
});
}
这是工作的罚款,但是这是处理这一最有效的方式,从性能观点?我应该使用交换机还是多个监听器?
我建议你在代码审查发布此过:http://codereview.stackexchange.com/ – Halcyon
什么样的性能改进,你一直在想什么?你可以通过'if'块早日重新节省一个纳秒或两秒... – Teemu
你可以使用一个Object来存储'key => handler'映射。 – fuyushimoya