2012-01-16 2 views
0

새 줄로 구분 된 텍스트를 복사하여 IE의 텍스트 필드에 붙여 넣으려고하면 텍스트가 첫 번째 줄 바꿈 문자. Firefox와 Chrome에서 새로운 라인 문자는 단순히 공간으로 변환됩니다. 나는이 모든 브라우저에 대해 동일한 동작을 구현해야합니다.HTML : 텍스트 필드에 붙여 넣기 전에 IE에서 여러 줄 복사 된 텍스트를 수정하는 방법

내가 복사 한 텍스트의 보류를 얻을 수 있다면, 나는 모든 \ 연구 \ n 다음 \ n 및 모든 \ n은 공백 문자로은,하지만 난 방법을 생각할 수 없다 변환 할 수 있습니다 잘라 내기 전에 복사 한 텍스트에 액세스하십시오.

답변

2

IE 전용!

$('input:text').on('paste', function(ev) { 
    var multiCellTarget = $(this); 
    setTimeout(function() { 
     var cells = window.clipboardData.getData('text').split(/\s+/); 
     if (cells.length > 1) { 
      // [... do stuff with cells] 
     } 
    }, 20); 
}); 

20 밀리 초 타임 아웃 시간 JQuery와 붙여 넣기를 개막에 클립 보드의 데이터를 사용할 것 같다하지 않는 문제를 해결하기위한 트릭 : 다음과 같이 당신은 window.clipboardData에서 정보를 얻을 수 있습니다 행사.

+1

유일한 단점은 IE에서 "이 웹 페이지에서 클립 보드에 액세스 할 수있게 하시겠습니까?"라는 팝업 메시지가 나타납니다. 이 UX는 그다지 이상적이지 않으며,이를위한 프로그래밍 방식의 해결 방법이없는 것처럼 보입니다. 나는 IE가 그 엘레멘트에서 개행 문자를 허용하기 때문에'