>source

죄송합니다. JavaScript를 사용하면 현재 많은 새로운 회선 공간이 포함 된 기사를 복사 할 때 현재 문제가 해결됩니다. 어떻게 그것을 다듬고 1 개의 새로운 줄 만 만들 수 있습니까? Enter 키 (NewLine)를 누르기 위해 사용자를 제한하는 방법은 무엇입니까?

예제 다른 소스의 텍스트를 복사하고 TextArea에 붙여 넣을 때 다음과 같이 나타납니다.

This is
                    //new line
                   //new line
                   //new line
                  //new line
                  //new line
Orange
                  //new line
                  //new line
                  //new line
Not apple

TextArea /TextArea에서 Enter to TextArea로 복사 한 후 어떻게 만드는 방법

This is
orange
not apple

바이올린 데모=. 깡깡이

my fiddle output :
------------------
This is
Orange
not apple
Expected output :
-----------------
This is
Orange
not apple

도움이되는 모든 도움이 될 것입니다. 감사!

이 String.replace (/\ n \ s * \ n /g, '\ n')와 같이 뉴라인을 하나의 단일 개행이라는 단지 바꾸기 만하면됩니다.

adeneo2021-04-04 04:38:02

안녕하세요 @adeneo, 정말 미안 해요.

jschew2021-04-04 04:38:02

물론 ->jsfiddle.net/adeneo/ddp09zv/4.

adeneo2021-04-04 04:38:02

안녕하세요 @Adeneo, 감사합니다. 불행히도 JQuery는 현재 시스템에 적용되지 않습니다.

jschew2021-04-04 04:38:02

jQuery는 그 바이올린의 중요한 부분이 아니 었습니다. String.replace는 Fast DOM 액세스를 위해 JQuery를 사용했습니다.

adeneo2021-04-04 04:38:02
  • 답변 # 1

    정확하게 이해하는 경우 청취자를 추가하여 enter 키를 눌러 사용자가 줄 바꿈을 삽입하지 못하게 할 수 있습니다. 이 같은:

    var textarea= document.getElementById("myTextArea");
    textarea.addEventListener("keydown", function (e) {
        if (e.keyCode== 13) { //keyCode 13 corresponds to the Enter key
            e.preventDefault(); //prevents inserting linebreak
        }
    });
    

    jsfiddle. 여기

    문자열에서 여러 개의 새 라인을 교체하는 것과 같이 @Adeneo가 @adeneo가 지적한 바와 같이 JavaScript 's를 사용할 수 있습니다.string.replace ()함수. 다른 리스너를 추가 할 수 있습니다TextArea.그게 듣는다이벤트는 다음과 같습니다.

    textarea.addEventListener("paste", handler);
    

    매니저줄 바꿈을 청소할 수있는 기능입니다. 다음은 이것을 보여주는 바이올린 : jsfiddle.

    안녕하세요 @SOUTHROP, 설명을 주셔서 감사합니다, 사용자가 ENTER 키를 최대 2 번 누르도록 한도 할 수 있습니까? 나는 Odeneo 메소드를 시도했지만 모든 개행을 잘라냅니다. 바이올린 데모를 다시 확인할 수 있습니까? 나는 업데이트했다. 정말 고맙습니다

    jschew2021-04-04 04:38:02

    텍스트 사이에 빈 줄을 갖고 싶다면 단지 하나가 아닌 두 개의 새로운 선을 갖고 싶습니다. 그래서 \ n 대신 \ n \ n을 사용해보십시오.

    southrop2021-04-04 04:38:02

    나는이 새로운 바이올린을 추가하고 원하는 출력을 일하고 생성하고 생성하는 것을 보여줍니다. 사용자가 Enter 키를 누를 수있는 횟수를 제한하는 것처럼 일부 정렬의 카운터를 만들 수 있습니다. 나는 이것이 당신의 유스 케이스가 무엇인지 확신하지 못합니다. 그래서 나는 견고한 대답을 줄 수는 없습니다.

    southrop2021-04-04 04:38:02

    솔루션과 설명을 위해 @southrop 덕분에 수천 명입니다. 문제 해결됨.

    jschew2021-04-04 04:38:02
  • 답변 # 2

    텍스트에 대해 두 \ N을 기다리고 있습니다. 내 답변을 확인하십시오. jQuery와 jQuery없이 보여줍니다. 내가 이해할 수 있듯이, 당신은 흐리게 함수에 의한 요구 사항을 달성 할 수 있습니다.

    $("#withjquery").blur(function(){
     $("#withjquery").val(($("#withjquery").val().replace(/\n\s*\n/g, '\n\n')));
    });
    function doFormat()
    {
      document.getElementById("withoutjquery").value= document.getElementById("withoutjquery").value.replace(/\n\s*\n/g, '\n\n');
    }

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script><textarea id="withjquery" name="withjquery" rows="5" cols="40"  ></textarea><textarea id="withoutjquery" name="withoutjquery" rows="5" cols="40" onblur="doFormat()" ></textarea>

  • 이전 java : JDBC로 데이터베이스에서 레code 작업
  • 다음 javascript : 소품 및 Typescript로 스타일이 적용된 구성 요소 사용