Javascript 检查是否选择了文本

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/9065828/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-26 05:29:29  来源:igfitidea点击:

Javascript check if text selected

javascriptjquery

提问by Tim

I'm looking for a simple function (javascript / jquery) that checks whether or not ANY contents of a textarea is selected or highlighted... the function needs to return true or false.

我正在寻找一个简单的函数(javascript/jquery)来检查是否选择或突出显示了 textarea 的任何内容......该函数需要返回 true 或 false。

Thanks :)

谢谢 :)

回答by ShankarSangoli

Try this

试试这个

function isTextSelected(input){
   var startPos = input.selectionStart;
   var endPos = input.selectionEnd;
   var doc = document.selection;

   if(doc && doc.createRange().text.length != 0){
      return true;
   }else if (!doc && input.value.substring(startPos,endPos).length != 0){
      return true;
   }
   return false;
}

Usage

用法

if(isTextSelected($('#textareaId')[0])){
   //text selected
}

Demo

演示