在编辑器中,我需要使用右键单击来获取单词。但该词并未被选中。
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/