在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); });