javascript - 在文本区域中的插入符之前查找单词的一部分

标签 javascript jquery

我有一个 jQuery 插件可以找到文本区域的插入符位置。我在 textarea 的 keyup 函数上实现它,像这样:

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

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

我这样做的主要困难是处理换行符。给定插入符号的字符索引,如何找到紧接插入符号之前的单词或单词的一部分?

最佳答案

如果您使用 my jQuery textarea plug-in为此,无论浏览器如何处理换行符,选择字符的位置始终与文本区域的 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);
});

关于javascript - 在文本区域中的插入符之前查找单词的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5590706/

相关文章:

javascript - Google Chrome 扩展 - Background.html 函数问题

javascript - react native 异步/等待不等待

javascript - 显示文本中的 x 个字符,当单击 href 时显示带有换行符的其余字符

javascript - 在 Javascript 中返回相反值

javascript - 如何在没有 Web 服务器的情况下运行 ajax 代码?

javascript - 带分割功能的 jQuery 多重选择器

javascript - 在 div 中包围希伯来语和英语文本

javascript - 我的对象是否被覆盖并处置

javascript - 如何使用 JS/jQuery 检查 CK Editor 是否有输入?

jquery - 图像上的 div 褪色无法保持显示