我正在写一个windows商店应用程序(HTML),其中包括一些简单的富文本编辑。我可以使用触发document.execCommand("bold",false,null);
然而,当我将它绑定到像CTRL+B这样的keydown事件时,什么也没有发生。这是我的按键代码。
document.addEventListener("keydown", catchShortCuts, false);
function catchShortCuts(e) {
if (e.ctrlKey) {
if (e.keyCode == 66) // b
document.execCommand('bold', true, null);
}
}
}
我知道我的keydown代码工作得很好,因为如果我用另一行代码替换document.execCommand
,当我按CTRL+B时,它会很好地触发。似乎execCommand有keydown事件的问题?
事实证明,如果您使用keypress而不是keydown,则可以正常工作。以防其他人有同样的问题,这是一种变通方法。仍然不确定为什么onkeydown不起作用。
工作代码:document.addEventListener("keypress", catchShortCuts, false);
function catchShortCuts(e) {
if (e.ctrlKey) {
if (e.keyCode == 66) // b
document.execCommand('bold', true, null);
}
}
}