복붙노트

[JQUERY] jQuery : 브라우저 특정 코드없이 입력에서 텍스트의 커서 위치를 가져 오는가? [복제]

JQUERY

jQuery : 브라우저 특정 코드없이 입력에서 텍스트의 커서 위치를 가져 오는가? [복제]

해결법


  1. 1.일부 브라우저 특정 코드 없이는이 작업을 수행 할 수 없습니다. 텍스트를 구현하기 때문에 약간 다르게 범위를 선택하십시오. 그러나 이것을 추상화하는 플러그인이 있습니다. 정확히 당신이 이후에 무엇이 있는지, jQuery Caret (JCaret) 플러그인이 있습니다.

    일부 브라우저 특정 코드 없이는이 작업을 수행 할 수 없습니다. 텍스트를 구현하기 때문에 약간 다르게 범위를 선택하십시오. 그러나 이것을 추상화하는 플러그인이 있습니다. 정확히 당신이 이후에 무엇이 있는지, jQuery Caret (JCaret) 플러그인이 있습니다.

    귀하의 코드에 대해서는 당신이 이렇게 할 수있는 위치를 얻을 수 있습니다.

    $("#myTextInput").bind("keydown keypress mousemove", function() {
      alert("Current position: " + $(this).caret().start);
    });
    

    여기에서 그것을 테스트 할 수 있습니다.


  2. 2.syntax text_element.selectionStart를 사용하여 text_element.value에서 선택한 텍스트의 첫 번째 문자의 첫 번째 문자의 인덱스의 관점에서 텍스트 선택의 시작 위치를 가져올 수 있으며 마지막 문자와 동일한 문자를 사용할 수있는 경우 우리가 text_Element.Selectionend를 사용해야합니다.

    syntax text_element.selectionStart를 사용하여 text_element.value에서 선택한 텍스트의 첫 번째 문자의 첫 번째 문자의 인덱스의 관점에서 텍스트 선택의 시작 위치를 가져올 수 있으며 마지막 문자와 동일한 문자를 사용할 수있는 경우 우리가 text_Element.Selectionend를 사용해야합니다.

    다음과 같이 사용하십시오.

    <input type=text id=t1 value=abcd>
    <button onclick="alert(document.getElementById('t1').selectionStart)">check position</button>
    

    나는 당신에게 fiddle_demo를주고 있습니다


  3. 3.jQuery 캐럿 플러그인에 대한 경고.

    jQuery 캐럿 플러그인에 대한 경고.

    마스크 된 입력 플러그인 (또는 그 반대)과 충돌합니다. 다행스럽게도 마스크 된 입력 플러그인은 기본 요구 사항에 대한 캐럿 플러그인과 매우 유사하게 사용할 수있는 자체의 caret () 기능을 포함합니다. 시작 또는 .End.


  4. 4.브라우징하는 동안 방금 만나서 JavaScript를 얻는 데 도움이 될 수 있습니다. 텍스트 상자에 사용할 수 있습니다.

    브라우징하는 동안 방금 만나서 JavaScript를 얻는 데 도움이 될 수 있습니다. 텍스트 상자에 사용할 수 있습니다.

  5. from https://stackoverflow.com/questions/4085312/jquery-get-the-cursor-position-of-text-in-input-without-browser-specific-code by cc-by-sa and MIT license