在查看dojo/on
和dojo/keys
的Dojo 1.10文档之后,我仍然不明白如何处理键组合的事件,例如 Ctrl + < KBD>名词
on(document, "keydown", function (evt) {
var charOrCode = evt.charCode || evt.keyCode;
// capture Ctrl+N
if (evt.ctrlKey && charOrCode === 78 /* This works, but doesn't use the keys module */) {
Dojo在keys
中有keys.ENTER
等其他键的常量,但文档中的字母没有列出这样的键。类似地,没有处理密钥组合的示例。从that property is deprecated开始,使用硬编码的keyCode
似乎不正确。 Dojo的主要目的之一是跨浏览器兼容性。
按下 Ctrl 键时是否必须设置标志,如果我想要跨浏览器,则将键事件作为两个单独的事件处理?我认为应该有一个更简单的方法......
This is why the keys modules exists.(参见浏览器之间差异的大表)