在textarea中找到插入符号之前的部分单词

时间:2011-04-08 05:10:31

标签: javascript jquery

我有一个jQuery插件,可以找到textarea的插入位置。我在textarea的keyup函数上实现它,如下所示:

$("#editor").keyup(function () {
   var textbox = $(this);
   var end = textbox.getSelection().end;
});

我想在插入符号之前找到单词或单词的一部分。单词由任何类型的空格分隔。

我这样做的主要困难是处理换行符。如何在插入符号的插入符号之前找到插入符号的字符或部分?

1 个答案:

答案 0 :(得分:8)

如果您使用my jQuery textarea plug-in,则无论浏览器如何处理换行符,选择字符位置始终相对于textarea的value属性。然后你可以得到如下的最后一句话:

请注意,您必须使用textarea的value属性,而不是jQuery的val()方法,它可以规范换行符。

$("#editor").keyup(function () {
    var textbox = $(this);
    var end = textbox.getSelection().end;
    var result = /\S+$/.exec(this.value.slice(0, end));
    var lastWord = result ? result[0] : null;
    alert(lastWord);
});