我有一个函数可以将大写字母转换为小写字母,也可以替换小破折号的空格。
问题是,当用户打错字并想要纠正它时,如果他尝试使用键盘将光标移回原处,他将无法这样做,因为光标将始终位于字符串的最后一个位置。
这里我有 JS fiddle 来运行示例: http://jsfiddle.net/R8N8F/7/
在示例中,我使用 jQuery,因为我无法使其与 jsfiddle 的 Javascript 一起运行,但这是我当前使用的函数:
function replaze(obj){
obj.value = obj.value.toLowerCase().replace(/ /g, '-');
}
这是我的 HTML:
<input name="demo" autofocus="autofocus" onkeyup="replaze(this);" type="text" id="UserUsername">
最佳答案
您可以使用以下答案保留选择:
https://stackoverflow.com/a/3288215/96100
您可以使用我的 jQuery plug-in ,它使用相同的代码。示例:
var $input = $("#UserUsername");
$input.keyup(function() {
var sel = $input.getSelection();
replaze(this);
$input.setSelection(sel.start, sel.end);
});
关于javascript - 能够在使用 keyup 事件时用键盘移动光标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14219652/