2017-10-11 1 views
-1

html 요소가되도록 내용을 변경할 수 있도록 가짜 입력을 만들어야합니다. Desmos 응용 프로그램에서 당신과 같이 입력 할 수 있습니다처럼어떻게 html과 javascript에서 가짜 입력을 만들 수 있습니까?

: a^b를하고 HTML에 B 마녀로 변경됩니다입니다 a<sup>b</sup.

또한 구문 강조, 자동 완성 등을 수행하는 Monaco Editor 참조

내가 contenteditable 속성을 잘 알고 있지만, 데모에 그들은 그것을 사용하지 마십시오.

이러한 응용 프로그램에서는 텍스트 영역 , 숨겨진 입력 또는 contenteditable 특성을 사용하지 않고 가짜 입력을 구현합니다.

그래서 내 질문은 그 동작을 달성하고 가짜 oninput, onblur, oncopy 등의 처리기 기능을 사용하여 가짜 입력 을 구현하는 방법입니다.

+0

이 보이는 키 스트로크를 읽고 누르면 내용에 따라, 그들은이 기간에 속성을 추가하는 onKeyUp에 함수의 다음 차기 (이 회전은 html로 채워야합니다.) – Pete

답변

0

가짜 필드의 내용을 편집하려면 keydown/keyup/keypress 이벤트를 사용할 수 있습니다. 이 같은 뭔가 : 그들은 요소의 onfocus 및있는 것처럼

$(document).click(function (e) { 
    if($(e.target).is("#your_editor")) { 
     // editor area focused 
     if($(this).hasClass("focused")) { 
      return; 
     } 
     $(this).addClass("focused"); 
    } else { 
     // editor area is not focused 
     $("#your_editor").removeClass("focused"); 
    } 
}); 

$(document).keydown(function (e) { 
    // some key are pressed 
    if($("#your_editor").hasClass("focused")) { 
     // do something with e.keyCode 
    } 
}); 
+0

그런데 모나코 편집자가 텍스트 영역을 사용하고 있습니다! – Sergey

+0

사실, 지금까지 보지 못했습니다. 편집기의 원시 값을 저장합니다. 하지만 여전히 나는 이벤트를 올바르게 구현하는 방법을 생각지 않습니다. – kfir2142

+0

커서 위치에 텍스트 영역을 추가하는 것보다 각 행에서 클릭을 잡을 수 있습니다. – Sergey

관련 문제