我有一个不想输入空格的文本输入。如果有人键入空格或粘贴带有空格的文本,我想将文本更改回输入空格之前的状态,并保留插入符号的位置相同的。也许有一种更简单的方法可以做到这一点,但我无法弄清楚。
这是我到目前为止所拥有的:
<html><head><title>Test</title></head><body>
<input type=text id="inputText" value="testValue" onInput=doIt(this);>
</body></html>
以及将包含的 javascript(我使用了 jsFiddle):
var editedValue = "testValue";
// alert(editedValue);
function doIt(that)
{
var caretPos = that.selectionStart;
if (that.value.indexOf(" ") != -1)
{
that.value = editedValue;
// alert(caretPos);
that.selectionStart = caretPos;
}
else
{
editedValue = that.value;
}
}
似乎一切正常,除了如果插入符号位于文本中间,并且您键入或粘贴空格,插入符号不会返回到原始位置。
谁能帮我解决这个问题?或者向我展示一种全新/更简单/更简单的方法来不允许在文本输入中输入或粘贴空格?
如果有帮助,这是我尝试使用的 jsfiddle:http: //jsfiddle.net/djSnL/4/