javascript - 如何防止在 contenteditable 元素中创建不间断空格?
问题描述
我有一个 contenteditable div,它在删除或添加单词时会创建许多不间断的空格。这是我的代码的格式:
<div id="div" contenteditable="true">
<span>Hello</span>
<span></span>
</div>
我尝试在输入中替换不间断空格:
document.getElementById("div").oninput = function() {
document.getElementById("div").innerHTML.replace(" ","");
}
但这不起作用。有任何想法吗?
解决方案
您需要将 分配innerHTML
给更改后的文本,如下所示:
document.getElementById("div").oninput = function() {
document.getElementById("div").innerHTML = document.getElementById("div").innerHTML.replace(" ","");
}
因为如本MDN 页面所示:
原始字符串保持不变
所以你需要将结果分配replace
给某事。
推荐阅读
- python - 如何设置python类继承,使类和实例呈现相同的接口?
- c# - 如何在 Polly 中添加重试次数?
- github - 如何将存储库拉到我的远程服务器?
- awk - 如何用 awk 或 sed 引用每一行的字段
- gcc - __BASE_FILE__ 宏解析完整文件路径,而不仅仅是文件名
- javascript - 引用的变量未定义
- list - 颤振/飞镖中的元组列表
- java - 春天尝试捕捉与尝试(语句)捕捉 - 春天
- azure - 使用 Azure Web API 应用程序中的 C# 从 Azure Data Lake 查询 parquet 数据
- jquery - 如何更改详细信息控件类名图标的颜色