Javascript ElectronJS-使用本地键盘快捷键在Teaxtarea中生成粗体文本

Javascript ElectronJS-使用本地键盘快捷键在Teaxtarea中生成粗体文本,javascript,electron,textarea,keyboard-shortcuts,Javascript,Electron,Textarea,Keyboard Shortcuts,我正在尝试在ElectronJS中制作一个文本编辑器,作为我在Electron中的第一个应用程序。 我得到了文本区域和快捷方式设置,但当按下CTRL+B时,我无法使文本区域中的选定文本变为粗体。我可以在正确的方向上使用一些帮助来完成这项操作 到目前为止,我尝试使用execCommand切换粗体,但出现了以下错误: 未定义文档 Main.js menu.append(新菜单项)({ 标签:“快捷方式”, 子菜单:[{ 角色:'粗体', 加速器:process.platform==='darwin'

我正在尝试在ElectronJS中制作一个文本编辑器,作为我在Electron中的第一个应用程序。 我得到了文本区域和快捷方式设置,但当按下CTRL+B时,我无法使文本区域中的选定文本变为粗体。我可以在正确的方向上使用一些帮助来完成这项操作

到目前为止,我尝试使用execCommand切换粗体,但出现了以下错误: 未定义文档

Main.js

menu.append(新菜单项)({
标签:“快捷方式”,
子菜单:[{
角色:'粗体',
加速器:process.platform==='darwin'?'Cmd+B':'Ctrl+B',
单击:()=>{
document.execCommand('bold');
}
}]
}))
菜单.设置应用程序菜单(菜单)
我也在
renderer.js
中尝试过这一点,但效果并不理想


我做错了什么?

这实际上回答了一个问题:

链接内容:

如果需要自定义textarea,请使用另一个具有contenteditable属性的元素(如DIV)重现其行为

textarea更具可定制性,是一种更现代的方法,它只用于纯文本内容,而不用于丰富内容

<div id='fake_textarea' contenteditable></div>
<input type='hidden' id='fake_textarea_content' name='foobar' />
$('#your_form').submit(function()
{
  $('#fake_textarea_content').val($('#fake_textarea').html());
});