我正在尝试制作一些简单的 jquery 脚本来替换文本区域中的特定字符串。我已经知道了:
$("textarea").bind("keyup", function() {
var text = $(this).val();
text = text.replace(/,,/g, "′");
$(this).val(text);
});
这会将 ,,
替换为 unicode 符号 '
。这是可行的,只不过每次有替换时光标位置都会移动到文本区域的最后一个字符。我希望当有替换时光标正好位于 ′
之后。我怎样才能做到这一点?
这是我的jsfiddle:http://jsfiddle.net/zvhyh/
编辑:感谢大家的帮助。我现在用这个: http://jsfiddle.net/zvhyh/14/
最佳答案
这是我的看法:
$("textarea").bind("keyup", function() {
var cursorPosition = $('textarea').prop("selectionStart");
var text = $(this).val();
if (text.indexOf(',,') > -1) {
text = text.replace(/,,/g, "′");
$(this).val(text);
$('textarea').prop("selectionStart", cursorPosition - 1);
$('textarea').prop("selectionEnd", cursorPosition - 1);
}
});
关于javascript - 简单的textarea字符串替换jquery脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20221407/