복붙노트

[JQUERY] 키 누르기 변경

JQUERY

키 누르기 변경

해결법


  1. 1.키 이벤트와 연결된 문자 또는 키를 변경하거나 키 이벤트를 완전히 시뮬레이트 할 수 없습니다. 그러나 키 누르기를 처리하고 현재 삽입 포인트 / 캐럿에서 원하는 문자를 수동으로 삽입 할 수 있습니다. 나는 스택 오버플로의 여러 위치 에서이 작업을 수행하는 코드를 제공했습니다. ContentEditable 요소의 경우 :

    키 이벤트와 연결된 문자 또는 키를 변경하거나 키 이벤트를 완전히 시뮬레이트 할 수 없습니다. 그러나 키 누르기를 처리하고 현재 삽입 포인트 / 캐럿에서 원하는 문자를 수동으로 삽입 할 수 있습니다. 나는 스택 오버플로의 여러 위치 에서이 작업을 수행하는 코드를 제공했습니다. ContentEditable 요소의 경우 :

    여기에 JSFiddle 예제가 있습니다. http://www.jsfiddle.net/ukkmu/4/

    입력의 경우 :

    크로스 브라우저 JSFiddle 예 : http://www.jsfiddle.net/exh2k/6/

    IE> = 9 및 IE-IE JSFIDDLE 예제 : http://www.jsfiddle.net/exh2k/7/


  2. 2.내 솔루션 예제 (입력의 변경 [유형 = 텍스트] 문자 '', ''. ') :

    내 솔루션 예제 (입력의 변경 [유형 = 텍스트] 문자 '', ''. ') :

    element.addEventListener('keydown', function (event) {
    if(event.key === ','){
      setTimeout(function() {
        event.target.value += '.';
      }, 4);
      event.preventDefault();
    };
    

  3. 3.여기에서 대체 할 간단한 예입니다. 바닐라 자바 ​​스크립트 사용

    여기에서 대체 할 간단한 예입니다. 바닐라 자바 ​​스크립트 사용

    // 로 변경 '.' document.getElementByID ( 'only_float'). addEventListener ( '키 누름', 함수 (e) { if (e.key === ',') { // 오래된 값을 가져옵니다 var start = e.target.SelectionStart; var end = e.target.Selectionend; var oldvalue = e.target.value; // 점을 교체하고 입력 값을 변경합니다 var newValue = oldvalue.slice (0, start) + '.' + OldValue.Slice (End) e.target.value = newValue; // 커서를 대체합니다 e.target.SelectionStart = e.target.SelectionEnd = 시작 + 1; e.preventDefault (); } }) <입력 유형 = "텍스트"id = "only_float"/>


  4. 4. 또는