Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以Javascript中突出显示的文本为目标_Javascript_Jquery_Html - Fatal编程技术网

以Javascript中突出显示的文本为目标

以Javascript中突出显示的文本为目标,javascript,jquery,html,Javascript,Jquery,Html,正在寻找一种方法以选定文本为目标,并在Javascript中对其执行操作。我应该使用什么样的方法?这是jQuery的工作吗?非常感谢 EDIT:前面的答案是针对CSS类的。我正在寻找点击并突出显示/选择文本,然后在JS中执行操作。谢谢 编辑2:有人问我这个函数的例子。一个是,但代码的评论很差。让我知道您的想法。,您还应该阅读和。编写跨浏览器的通用“获取选定文本”功能相当困难。如果您可以限制您的需求,只说在一个页面中选择的文本,那么生活就更简单了 但如果你想从任何地方(表单控件、按钮标签、普通文本

正在寻找一种方法以选定文本为目标,并在Javascript中对其执行操作。我应该使用什么样的方法?这是jQuery的工作吗?非常感谢

EDIT:前面的答案是针对CSS类的。我正在寻找点击并突出显示/选择文本,然后在JS中执行操作。谢谢


编辑2:有人问我这个函数的例子。一个是,但代码的评论很差。让我知道您的想法。

,您还应该阅读和。

编写跨浏览器的通用“获取选定文本”功能相当困难。如果您可以限制您的需求,只说在一个页面中选择的文本,那么生活就更简单了

但如果你想从任何地方(表单控件、按钮标签、普通文本)获得文本选择,那么生活就很艰难

这是我不久前编写的一个函数,对于它所使用的应用程序来说,它工作得很好:

/* 
 *  This function returns the selected text in a document.
 *  If no text selected, returns an empty string.
 *
 *  Call on one of the following events: 
 *
 *     mouseup - most appropriate event
 *               for selection by mousedown, drag to select, mouseup
 *               may select only whitespace
 *
 *    dblclick - not as appropriate as mouseup
 *               for selection of word by double click
 *               may select only whitespace
 *
 *  Note that text can be selected in ways that do not dispatch
 *  an event, e.g. selecting all the text in the document using:
 *     ctrl + a
 *     context menu -> Select All
 *     edit menu -> Select All
 *     programmatically selecting text
 */
function checkForSelectedText(e) {
  var e = e || window.event;
  var el = e.target || e.srcElement;
  var tagName = el.tagName && el.tagName.toLowerCase();
  var t;
  var d = document;

  // Try DOM 2 Range - for most browsers, including IE 6+
  // However, doesn't get text selected inside form controls
  // that allow selection of text content (input type text, 
  // textarea)
  if (d && d.selection && d.selection.createRange) {
    t = d.selection.createRange().text;

  // Otherwise try HTML5 - note that getSelection returns
  // a string with extra properties. This may also get
  // text within input and textarea
  } else if (d.getSelection) {
    t = d.getSelection();
  }

  // If didn't get any text, see if event was inside
  // inupt@type=text or textarea and look for text
  if (t == '') {
    if (tagName == 'textarea' || 
       (tagName == 'input' && el.type == 'text')) {

     // Check selectionStart/End as otherwise if no text
     // selected, IE returns entire text of element
     if (typeof el.selectionStart == 'number' && 
         el.selectionStart != el.selectionEnd) {
        t = el.value.substring(el.selectionStart, el.selectionEnd)
     }
    }
  }
  return t;
}

定义“对其执行操作”。数一数字数?加粗?所有评论都做得很好。一些你看得不够多的东西。然而,有时很难进入别人的踪迹。