2009-08-25 4 views
1

텍스트 선택을 어떻게 반사시킬 수 있습니까?

두 개의 입력이 있다고 가정 해보십시오 :

<input id="input1" type="text"/><input id="input2" type="text"/>

이렇게하면 JavaScript 매직을 통해 input1에 입력 한 내용도 input2에 입력됩니다. 이 의미에서 input2는 input1을 미러링합니다.

텍스트 선택을 "미러링"할 수있는 방법이 있습니까? 따라서 input1에서 일부 텍스트를 선택하면 어떻게 input2에서 똑같은 텍스트를 선택할 수 있습니까?

필자는 Microsoft의 TextRange 개체와 Mozilla 외에서 사용 된 Selection 개체를 살펴 보았지만 전반적인 혼란은 꽤 복잡합니다. 누구든지 이와 같은 일을 성공으로 이뤘습니까?

설명 : 지금까지 답변 해 주셔서 감사합니다. 분명히하기 위해서 : 저는 텍스트를 대칭하는 방법을 묻지 않습니다. 나는 이미 그것을 해결했다. 질문은 input1의 텍스트를 선택하고 input2의 해당 텍스트도 선택하는 것입니다.

답변

1

필자는 Firefox와 Opera에서 매우 쉽습니다. Google 크롬과 IE는 그리 많지 않습니다. FF로 작동하는 코드는 다음과 같습니다.

<!DOCTYPE html> 

<html> 
<head> 
<meta charset="UTF-8"> 
</head> 
<body> 

<input type="text" size="40" id="sel-1" value="Some long text"> 
<input type="text" size="40" id="sel-2" value="Some long text"> 

<script type="text/javascript"> 
var sel_1 = document.getElementById("sel-1"); 
var sel_2 = document.getElementById("sel-2"); 

document.onmousemove = function() { 
    sel_2.selectionStart = sel_1.selectionStart; 
    sel_2.selectionEnd = sel_1.selectionEnd; 
} 
</script> 
</body> 
</html> 
+0

이러한 브라우저가 페이지에서 여러 부분을 동시에 선택할 수 있는지 확실하지 않습니다. –

+0

Firefox에서 잘 작동합니다. 나는 여러 선택이 가능하다는 것을 알지 못했다. – artlung

+0

나는 분명히해야한다 : FF 3.5.2에서 테스트되었고 훌륭하게 작동한다. – artlung

-1

는,이 방법을 수행 할 수 있습니다 복제 한 번에 하나 이상의 활성 선택된 범위를 가질 수 없습니다.

0

당신은 당신이 (내 대답 here 등)에 대한 문의 첫 번째 부분을 할 수 있지만 -이 : 당신이 JQuery을 사용하여 살 수있는 경우