我有一个jQuery插件,可找到文本区域的插入符位置。我在textarea的keyup函数上实现了它,如下所示:
$("#editor").keyup(function () {
var textbox = $(this);
var end = textbox.getSelection().end;
});
我想在插入符号前找到单词或单词的一部分。单词由任何类型的空格分隔。
我这样做的主要困难是处理换行符。给定插入符号的字符索引后,如何在插入符号之前立即找到单词或单词的一部分?
最佳答案
如果为此使用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);
});