jquery从页面中选择文本

时间:2012-09-12 07:14:52

标签: jquery

我正在尝试为windows编写chrome扩展,将所有选定的文本从页面复制到剪贴板。我使用jquery来执行java脚本部分。

如何在该页面中获取任何选定/突出显示的文字?换句话说,是否有一个事件监听器,当突出显示任何文本部分时会触发该事件监听器。

2 个答案:

答案 0 :(得分:3)

我目前为止遇到的最佳体验是使用 zeroclipboard 并使用document.selection.createRange().textwindow.getSelection()

手动将所选文字附加到其中

用法:http://code.google.com/p/zeroclipboard/wiki/Instructions

这应该会给你一个良好的开端:

jsBin demo

var highlighted;
$(document).on('mouseup', function(e){     
   if (window.getSelection) {
      highlighted  = window.getSelection();
   } else if (document.selection) {
      highlighted = document.selection.createRange();
   }        
   var selectedText = highlighted.toString() !=='' && highlighted;

   alert(selectedText); // to be added to clipboard
});

答案 1 :(得分:3)

function getSelected() {
  if (window.getSelection) return window.getSelection();
  if (document.getSelection) return document.getSelection();
  if (document.selection) return document.selection.createRange().text;
}

document.onmouseup = function () {
  getSelected(); // => "Something you've sele..."
};

Demo