2014-03-04 3 views
0

숨겨진 필드로 리디렉션하여 개발중인 응용 프로그램에 복사 및 붙여 넣기를 처리하려고합니다. 문제는 필드를 입력 할 때 필드에 visibility: hidden을 설정하면 필드에 입력 또는 복사/붙여 넣기가 작동하지 않는 것입니다. <textarea> 태그를 사용하여 텍스트를 잡으려고하고 document.select('textAreaID').focus()으로 포커스를 설정하려고하는데 CSS에 visibility: hidden을 설정하지 않으면 작동합니다.html 페이지의 숨겨진 필드에 텍스트 입력을 연결하려면 어떻게해야합니까?

Test fiddle that shows that behavior. Blue square gives focus, red and green toggle visibility.

붙여 넣기 또는 그것으로 입력 할 수 여전히 텍스트 영역을 숨길 수있는 좋은 방법이 있나요? 그렇지 않은 경우 복사 동작을 리디렉션하여 구문 분석, 편집 및 작업 할 수있는 텍스트 묶음을 얻을 수있는 좋은 방법이 있습니까?

은 (또한 : 나는 다른 것을 위해 그것을 사용하고 있는데이 편리한 API를 제공하기 때문에 바이올린의 일부 D3있다.)

답변

2

브라우저가 가시성에 초점을 맞출 수없는 것 같습니다 : 숨겨진 요소. 다른 브라우저에서 다를 수 있지만 Chrome에서 나에게 적합하지 않습니다. http://jsfiddle.net/ps6KK/

그래서 우리는 가시성을 사용할 수 없으므로 : 숨겨진 텍스트 영역이 숨겨진 것처럼 보이게해야합니다. 높이/무게 등을 모두 닦아서 배경을 투명하게 설정할 수 있습니다. 원하는 경우 텍스트 색상을 투명하게 설정할 수도 있습니다.

#textDiv { 
    resize: none; 
    padding: 0; 
    height: 0; 
    border: 0; 
    width: 0; 
    background: transparent; 
} 

더 자세한 예를

은 여기에 있습니다 : http://jsfiddle.net/4Jwxv/1/

+0

크기 조정을 잊어 버렸습니다 : none :) – ckersch

0

당신은 아마 텍스트 영역을 업데이트 jQuery를에 .html 중에서() 메소드를 사용할 수

+0

텍스트 영역을 업데이트 할 필요가 없습니다. 입력을 직접 입력 할 수 있어야합니다. Ctrl + V를 붙여 클립 보드에 직접 끼워 넣지 않고 일부 텍스트를 붙잡고 숨겨진 텍스트 영역에 붙여 넣으려고합니다. – ckersch

+0

올바른, 그래서 붙여 넣은 값을 캡처하는 jQuery 이벤트 처리기를 사용하고 해당 값을 텍스트 영역에 할당 할 .html() 메서드 – khaos337

+0

그건 내가 어딘가에 문서에서 다른 곳에 데이터를 붙여 넣을 필요가, 텍스트 영역은 처리하기 위해 데이터를 잡을 수있는 편리한 장소이므로 텍스트 영역에 붙여 넣을 필요가 없습니다. – ckersch

0

는 당신이 "복사"를 ("붙여 넣기"하지 않음) 텍스트를 저장 문제인가? 이전의 전역 JavaScript 변수를 사용하여이를 수행 할 수 있습니다 (이벤트 핸들러 함수 내부에서는 선언되지 않지만 외부에서는 선언 됨). 숨겨진 HTML 요소에 저장할 필요가 없습니다.

관련 문제