我正在使用OpenMRS,它是一个开源医疗记录系统。 OpenMRS有一个内置的html编辑器,我主要用javascripting ang构建表单。在我的一个表格中,我有一个textarea。我的客户希望他的条目(在段落或列表中)在textarea中缩进。
现在当您尝试在textarea中缩进段落然后保存更改并预览表单时,段落变得合理而不是保留缩进的行。
但是,如果我通过键入 
或按alt-288
尝试使用ascii代码缩进段落非段落空格,则段落将缩进,从而为我提供所需的结果。现在,用户不喜欢打字或按压ascii等同物,因为他们会很麻烦。
我主要使用javascript和jQuery,因为它是openmrs支持的。如果我能以某种方式在按下一个键时绑定非中断空格字符,那么这将起作用,但我在这里迷路了。我将如何在javascript或jquery中执行此操作?
答案 0 :(得分:0)
一个可能对您有用的解决方案是在处理/保存时替换textarea中的前导空格,或者每次更改它时都会替换:
ta.value = ta.value.replace (/\n +/, function (m) {
return '\n' + Array (m.length).join (' ');
});
Array ...
构造创建一个包含长度元素的数组,然后与非breakspace字符连接,有效地创建一个包含许多空间字符的字符串。
另一种可能性是观察进入文本区域并转换它们的空格字符。见这里:Can I conditionally change the character entered into an input on keypress?