javascript - 简单的textarea字符串替换jquery脚本

标签 javascript jquery replace

我正在尝试制作一些简单的 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/

最佳答案

这是我的看法:

http://jsfiddle.net/zvhyh/11/

$("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/

相关文章:

javascript - 使用 jquery 和 .submit 捕获表单提交

javascript - 使用 data-clear-btn ="true"克隆 jquery 移动输入字段

jquery - 显示加载图像进度,直到在 ASP.Net webform 中下载实际图像

javascript 在正则表达式执行后替换匹配项

javascript - ColdFusion/Javascript 转义单引号

javascript - 如何获取对象的 css height 属性并向其添加 20px?

javascript - 点击 Google map 标记时添加信息窗口气泡

javascript - 无法在部分中垂直居中内容(更新)

javascript - 如何使用Jquery多次打开聊天框?

java - Apache Commons Lang : Upgrade from 2. 3 到 3.3.1 - UnhandledException 怎么样