execCommand 在 Windows 应用商店应用中从键关闭事件调用时不会触发



我正在写一个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);
        }
    }
}

相关内容

  • 没有找到相关文章

最新更新