Get selected text on the page (not in a textarea) with jQuery

后端 未结 2 1701
悲哀的现实
悲哀的现实 2020-12-10 07:47

This plugin lets you grab text the user has selected in a textarea, and this site has non-jQuery-based instructions for grabbing text the user has selected outside of a text

相关标签:
2条回答
  • 2020-12-10 07:55

    The reason it's hard to find a plug-in for this isn't that it isn't very "jQuery"ish. By that I mean that jQuery plugins normally operate on jQuery objects and the selection has nothing to do with any elements.

    Edit: I missed the fact you posted this link in your question but I'll leave it below for completeness since my version is formatted better (but otherwise identical). :)

    <script language=javascript>
    function getSelText() {
      var txt = '';
      if (window.getSelection) {
        txt = window.getSelection();
      } else if (document.getSelection) {
        txt = document.getSelection();
      } else if (document.selection) {
        txt = document.selection.createRange().text;
      } else return;
      document.aform.selectedtext.value =  txt;
    }
    </script>
    <input type="button" value="Get selection" onmousedown="getSelText()"> 
    <form name=aform >
    <textarea name="selectedtext" rows="5" cols="20"></textarea>
    </form>
    
    0 讨论(0)
  • 2020-12-10 08:13

    There's nothing wrong with copying and pasting snippets of code, that's how most people start out and you will keep doing it until you get so familiar with the snippets that you paste that you'll start modifying bits and portions or even starting from scratch by yourself.

    For that particular piece of code, I don't really see anything wrong with copying it other than not relying on inline event handlers and unobtrusively adding the 'mousedown' with jQuery.

    0 讨论(0)
提交回复
热议问题