javascript - 右键单击以使用 javascript 从文本区域获取单词?

标签 javascript jquery

在编辑器中,我需要使用右键单击来获取单词。但该词并未被选中。

var word=ed.selection.getContent();

此代码仅适用于选定的文本。

或者如何在javascript中使用右键单击从文本区域获取单词?

最佳答案

我不确定您对此功能到底有何期望,并且我不知道您为什么不使用双击来选择具有默认行为的单词?

不过这是可能的。这是一个例子。但首先您必须单击文本(或需要使用鼠标 1 选择的单词),然后单击鼠标 2:

document.querySelector('textarea').addEventListener('contextmenu', function (e) {
        e.preventDefault();

        var startPosition = this.selectionStart,
            endPosition = this.selectionEnd;

        while (this.value.charAt(startPosition) !== ' ' && startPosition >= 0) {
            startPosition--;
        }

        while (this.value.charAt(endPosition) !== ' ' && endPosition < this.value.length) {
            endPosition++;
        }

        this.selectionStart = startPosition + 1;
        this.selectionEnd = endPosition;

    })
<textarea>This is some text. Click on any word and then do right click</textarea>

关于javascript - 右键单击以使用 javascript 从文本区域获取单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44082706/

相关文章:

javascript - 更改元素的 HTML 后,CSS 悬停状态保留在 Safari 中

javascript - Socket IO 检测客户端何时失去连接

javascript - 根据语句添加类

javascript - 如何为焦点和焦点 Javascript 的 <option> 设置不同的值

javascript - 什么是 toString() 以及为什么它与 this.toString() 不同?

javascript - 在 jquery 中复制/克隆带有选定选项的下拉列表

javascript - 如何在用户滚动到页面底部时启动 jQuery 事件?

javascript - 如何使用赋值而不是设置值?

javascript - jQuery - 单击添加/删除类 - 多个按钮

jquery - 使用 jquery 验证多个文本框