使用快捷方式更改内容的粗体

时间:2019-04-21 20:23:45

标签: javascript jquery html

像Quora的注释部分这样的几个站点都具有此功能,您可以在其中将b文本控制在可编辑的div中,并将其变为粗体,或者您可以按b进行控制,之后键入的内容均为粗体,直到再次执行b为止。

我已经尝试过复制它,并且我已经看到了一个有关如何使用Stack上的按钮执行此操作的问题,但是尝试使用快捷键(control-B)并没有成功。

这是我的尝试,主要是基于我提到的另一个问题,但没有用:

JS

document.onkeyup = function(e) {
if (e.ctrlKey && e.which == 66) {
document.execCommand('bold');
};

HTML:

<div class="form-control" id="comment" contenteditable="true"></div>

关于这种js的用法,我不是很有经验,所以我很可能走了。任何人都有想法如何做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以在可编辑的div中启用粗体,如下所示:

 // enable bolding

$(window).keydown(function(e) {

if (e.keyCode >= 65 && e.keyCode <= 90) {

    var char = (e.metaKey ? '⌘-' : '') + String.fromCharCode(e.keyCode)

    if (char == '⌘-B') {

        document.execCommand('bold')

    }

}

})