복붙노트

[JQUERY] 어떻게 텍스트 영역에서 텍스트를 선택하세요? [복제]

JQUERY

어떻게 텍스트 영역에서 텍스트를 선택하세요? [복제]

해결법


  1. 1.JQuery와 - fieldselection 플러그인을 사용해보십시오.

    JQuery와 - fieldselection 플러그인을 사용해보십시오.

    당신은 여기에서 다운로드 할 수 있습니다. 너무 예를 들어이있다.


  2. 2.window.getSelection (). toString ()이 크롬하지만 파이어 폭스 날 위해 일했습니다.

    window.getSelection (). toString ()이 크롬하지만 파이어 폭스 날 위해 일했습니다.

    파이어 폭스와 <텍스트 영역>에서 선택된 콘텐츠를 얻는 :

    function getSel() // javascript
    {
        // obtain the object reference for the <textarea>
        var txtarea = document.getElementById("mytextarea");
        // obtain the index of the first selected character
        var start = txtarea.selectionStart;
        // obtain the index of the last selected character
        var finish = txtarea.selectionEnd;
        // obtain the selected text
        var sel = txtarea.value.substring(start, finish);
        // do something with the selected content
    }
    

    또한 activeElement 대신에서 getElementById를 사용할 수 있습니다.

    참고:


  3. 3.선택을 취급하는 다른 브라우저에 따라 다릅니다 :

    선택을 취급하는 다른 브라우저에 따라 다릅니다 :

    var userSelection;
    if (window.getSelection) {
        userSelection = window.getSelection();
    }
    else if (document.selection) { // Opera
        userSelection = document.selection.createRange();
    }
    

    그것은 당신에게 다양한 객체를 제공합니다. 각 범위 (이것은 다수의 활성 선택을 할 수있어 제어 / 명령 키를 사용하여) 단일 선택을 나타낸다.

    당신이 지금 가지고있는 다양한 개체의 유형은 어떤 브라우저에 따라 달라집니다. IE의 경우는 텍스트 Range 개체입니다; 다른 사람에 대한 선택의 객체입니다. 텍스트 범위로 선택 개체를 변환하려면 getRangeAt를 호출 할 수 있습니다; 사파리를 들어, 빌드가 필요 :

    var range;
    if (userSelection.getRangeAt)
        range = userSelection.getRangeAt(0);
    else { // Safari
        range = document.createRange();
        range.setStart(userSelection .anchorNode, userSelection.anchorOffset);
        range.setEnd(userSelection.focusNode, userSelection.focusOffset);
    }
    

    범위 객체는 선택의 오프셋 (offset) 시작과 끝 DOM 요소와 텍스트를 제공합니다.

    범위 개체에 대한 자세한 내용은 quirksmode.org 여기에서 찾을 수 있습니다

    당신이 jQuery를 사용하는 경우 티스트 Bieler에 의한 경량 jQuery를 RTE 플러그인을보고 할 수 있습니다. 그것은 당신의 요구에 부응 할만큼 할 또는 적어도 당신과 함께 시작하는 뭔가를 제공 할 수 있습니다.


  4. 4.대해 getSelection ()

    대해 getSelection ()

    이 브라우저에 의해 약간, 대부분의 작업에 주장하는 기능 여기를 참조 달라집니다 http://snipplr.com/view/775/getselection/


  5. 5.텍스트 영역 또는 입력 요소의 선택 문자열 / 텍스트를 얻을 것이다 작은 기능 :

    텍스트 영역 또는 입력 요소의 선택 문자열 / 텍스트를 얻을 것이다 작은 기능 :

    function getInputSelection(elem){
     if(typeof elem != "undefined"){
      s=elem[0].selectionStart;
      e=elem[0].selectionEnd;
      return elem.val().substring(s, e);
     }else{
      return '';
     }
    }
    

    참고 위의 코드가 작동을 위해 jQuery를 필요로. 아이디 ABC123와 입력 요소의 선택된 문자열을 얻는 예

    getInputSelection($("#abc123"));
    

    위의 기능은 선택한 문자열을 반환합니다. 사용자가 선택에 문자열이없는 경우는 null를 돌려줍니다.

    getInputSelection($("body").find("input[name=user]"));
    

    클래스 이름을 선택한 요소에서 요소들의 어레이의 첫 번째 요소의 선택된 스트링의 모든 요소의 선택된 문자열을 반환하지 않는다. 결국, 페이지의 선택은 항상 1이 될 것이다.


  6. 6.

    function getSel() {
    var input = $("#text");
    return input.html().toString().substring(getSelection().baseOffset,getSelection().extendOffset);
    }
    
  7. from https://stackoverflow.com/questions/717224/how-to-get-selected-text-in-textarea by cc-by-sa and MIT license