首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >contentEditable ExecCommand "bold“无法触发

contentEditable ExecCommand "bold“无法触发
EN

Stack Overflow用户
提问于 2019-05-27 14:40:12
回答 1查看 63关注 0票数 2

我很难在我的contentEditable div上执行一个“加粗”的命令。我在这里尝试了很多类似问题的解决方案,但都无济于事。我知道execCommand有一些bug;如果有任何帮助,我们将不胜感激!

这是我的代码:

代码语言:javascript
复制
$("#bolder").on('click', function() {
    document.execCommand("bold", false, null);
});
代码语言:javascript
复制
.text {
    	position: relative;
    	width: 100%;
    	height: 90%;
    	left: 0%;
    	border: solid;
    }
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="body">
    <button id="bolder" type="button">Bold</button>
	<div class="text"  contenteditable="true">
			This won't work	
	</div>
	<img class="loader" id="loader" src="Social_Icons/loader.svg">
</div>

我使用的是最新的Chrome浏览器。

EN

回答 1

Stack Overflow用户

发布于 2019-12-21 16:50:37

您的代码运行良好。但是:

  • 如果只想使编辑器中的某些文本成为,则必须首先选择文本。
  • 如果要使所有文本成为,则可以在应用bold.

之前聚焦编辑器并使用document.execCommand('selectAll',false,null)选择所有文本

此示例在单击按钮后将所有文本设置为粗体

代码语言:javascript
复制
$("#bolder").on('click', function() {
    $('[contenteditable]').focus();
    
    document.execCommand('selectAll',false,null)
    document.execCommand("bold", false, null);
});
代码语言:javascript
复制
.text {
    	position: relative;
    	width: 100%;
    	height: 90%;
    	left: 0%;
    	border: solid;
    }
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="body">
    <button id="bolder" type="button">Bold</button>
	<div class="text"  contenteditable="true">
			This won't work	
	</div>
	<img class="loader" id="loader" src="Social_Icons/loader.svg">
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56320870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档