如何在javascript中按空格键时绑定非分隔符(alt-288或)?

时间:2012-10-23 08:49:10

标签: javascript jquery

我正在使用OpenMRS,它是一个开源医疗记录系统。 OpenMRS有一个内置的html编辑器,我主要用javascripting ang构建表单。在我的一个表格中,我有一个textarea。我的客户希望他的条目(在段落或列表中)在textarea中缩进。

现在当您尝试在textarea中缩进段落然后保存更改并预览表单时,段落变得合理而不是保留缩进的行。

但是,如果我通过键入 或按alt-288尝试使用ascii代码缩进段落非段落空格,则段落将缩进,从而为我提供所需的结果。现在,用户不喜欢打字或按压ascii等同物,因为他们会很麻烦。

我主要使用javascript和jQuery,因为它是openmrs支持的。如果我能以某种方式在按下一个键时绑定非中断空格字符,那么这将起作用,但我在这里迷路了。我将如何在javascript或jquery中执行此操作?

1 个答案:

答案 0 :(得分:0)

一个可能对您有用的解决方案是在处理/保存时替换textarea中的前导空格,或者每次更改它时都会替换:

ta.value = ta.value.replace (/\n +/, function (m) {
    return '\n' + Array (m.length).join ('&#160');
});

Array ...构造创建一个包含长度元素的数组,然后与非breakspace字符连接,有效地创建一个包含许多空间字符的字符串。

另一种可能性是观察进入文本区域并转换它们的空格字符。见这里:Can I conditionally change the character entered into an input on keypress?