执行execCommand后再次选择文本

问题描述 投票:0回答:1

我正在使用jQuery构建一个文本编辑器。

我有一个内容可编辑的div,当我点​​击<span id="bold-text">时,我可以更改所选文本的样式:

$('span#bold-text').mousedown(function(e){
    document.execCommand('bold', false, null);
});

执行document.execCommand(或可能因为点击)跨度选择松散焦点。

如何在execCommand之后自动选择相同的文字?

javascript jquery selection execcommand
1个回答
0
投票

您可能需要将最后一个焦点项存储在jQuery中(不包括span):

var toFocus;
$("*:not(span#bold-text)").blur(function() {
  toFocus = this;
});

然后重新关注它:

$('span#bold-text').click(function(e){        
  document.execCommand('bold', false, null);    
  if(toFocus){
    $(toFocus).focus(); 
  }        
});
© www.soinside.com 2019 - 2024. All rights reserved.