redactor-js输入连续空格生成 的触发原因问询
你观察到的连续空格自动替换为 的行为是Redactor编辑器主动做的功能设计,不是浏览器原生行为。
背后的设计逻辑
HTML规范默认会将连续的多个普通空格合并为单个空格渲染,用户手动输入多空格的场景往往是希望保留空格的视觉宽度,因此Redactor默认会对连续空格做转换:将第2、4、6……位的空格替换为不换行空格 ,既可以保证多空格的宽度正常显示,又不会全部使用 导致连续内容无法正常自动折行。
你输入1 2(两个空格)得到1 2就是这个逻辑的体现。
配置开关说明
- 旧版redactor-js可以直接在源码的内容序列化模块中找到空格替换的相关逻辑,按需修改即可。
- 新版Imperavi Redactor提供了官方配置项multipleSpaces,初始化时传入
multipleSpaces: false即可关闭自动替换连续空格的特性,关闭后用户输入的连续空格会保留原始普通空格,但在页面渲染时会被HTML合并为单个空格显示。
内容的提问来源于stack exchange,提问作者Roman Motovilov
相关产品推荐
相关产品推荐

