在textarea中发现插入符号之前的部分单词

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

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

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

我这样做的主要困难是处理换行符。 如果给出插入符号的字符索引,我怎样才能在插入符号之前立即找到单词或部分单词?

如果您正在使用我的jQuery textarea插件 ,则无论浏览器如何处理换行符,选择字符位置始终相对于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); });