在这里,我使用下面的代码通过selected获取单词,就像单击i need to get一样
$('#select').click(function (e) {
textAreaValue = $("#para")[0],
startValue = textAreaValue.selectionStart,
endValue = textAreaValue.selectionEnd,
oldText = textAreaValue.value;
text = oldText.substring(startValue, endValue);
alert(text);
}
//我用这段代码从光标所在的位置获取当前单词
$('#文本区域').单击(函数(){
textAreaValue = $("#para")[0];
startValue = textAreaValue.selectionStart;
endValue = textAreaValue.selectionEnd;
oldText = textAreaValue.value;
startPosition = startValue;
textlength = (textAreaValue.value).length;
while(startPosition >= 0 ){
if(oldText.substring(startPosition-1, startPosition) == ' '){
break;
}
startPosition--;
}
endPosition = endValue;
while(true){
var eval = oldText.substring(endPosition, endPosition+1);
if(eval == ' ' || eval == '\n' || eval == '\r' || eval == '\t'|| endPosition == textlength){
break;
}
endPosition++;
}
text = oldText.substring(startPosition, endPosition);
textAreaValue.selectionStart = startPosition;
textAreaValue.selectionEnd = endPosition;
alert(text);
return false;
});
3条答案
按热度按时间e0bqpujr1#
如果用户高亮显示文本,则可以获得选定的文本:
jsfiddle
如果用户只是在文本区域中单击,则可以获得光标所在的单词:
jsfiddle
qvsjd97n2#
jQuery textRange插件可以完成这一任务,甚至更多。
6xfqseft3#
您可以使用浏览器的选择API轻松完成此操作: