왼쪽 마우스 버튼을 시뮬레이트하여 지정된 x, y 위치 (픽셀 단위)로 드래그하여 텍스트를 선택하고 싶습니다.JavaScript로 텍스트 선택을 마우스로 시뮬레이션 할 수 있습니까?
JavaScript로 작업 할 수 있습니까?
왼쪽 마우스 버튼을 시뮬레이트하여 지정된 x, y 위치 (픽셀 단위)로 드래그하여 텍스트를 선택하고 싶습니다.JavaScript로 텍스트 선택을 마우스로 시뮬레이션 할 수 있습니까?
JavaScript로 작업 할 수 있습니까?
JavaScript를 사용하여 이런 식으로 마우스를 제어 할 수 있다고 생각하지 않습니다.
그러나 JavaScript를 사용하여 문서의 일부를 직접 선택할 수 있습니다. 예 :
var h3s = document.getElementsByTagName("h3");
var range = document.createRange();
range.selectNode(h3s[0]);
window.getSelection().addRange(range);
은 첫 번째 h3 요소를 선택합니다.
건물 범위에 대한 자세한 내용은 http://www.quirksmode.org/dom/range_intro.html을 참조하십시오.
이 문서의 몸 전체를 선택하려면, 당신은 사용할 수 있습니다var body = document.getElementsByTagName("body")[0];
var range = document.createRange();
range.selectNode(body);
window.getSelection().addRange(range);
이 말의 3 문자, 문서의 4 번째 단락을 선택하려면 시도 :
var p4 = document.getElementsByTagName("p")[3].firstChild;
var range = document.createRange();
range.setStart(p4, 2);
range.setEnd(p4, 3);
window.getSelection().addRange(range);
나는 할 수 없다는 것을 알고 있습니다. 선택할 수있는 유일한 텍스트는 양식 요소 (텍스트 영역, 입력 텍스트 등)에 있습니다.
/** * Select text between 2 elements. Support selection of continuous elements. * @param {Object} element1 begin element. * @param {Object} element2 end element. */ function selectBetweenTwoElements(element1, element2) { if (window.getSelection) { /* all browsers, except IE 8 and IE 7 */ var selection = window.getSelection(); selection.removeAllRanges(); var range = document.createRange(); range.setStart(element1, 0); range.setEnd(element2, 1); selection.addRange(range); } else { /* works fine in IE 8/IE 7 */ if (document.body.createControlRange) { var range1 = document.body.createTextRange(); range1.moveToElementText(element1); var range2 = document.body.createTextRange(); range2.moveToElementText(element2); var range = document.body.createTextRange(); range.setEndPoint("StartToStart", range1); range.setEndPoint("EndToEnd", range2); range.select(); } } }
요소의 중간까지 선택할 수 있습니까? like, letter # 3? 또한 div 요소, 글꼴 등이 포함 된 본문 요소를 선택할 수 있도록 예를 선택할 수 있습니까? – thedp
예 - 편집 된 게시물보기 – Andy