포럼

Froala Editor에 대한 사용의견을 남기는곳 입니다.
데모는 edit mode demo, inline mode demo에서 체험해 보실 수 있습니다.

핫키 사용하는 경우

이온디 2017.06.28 조회 수 232 추천 수 0

핫키를 사용하는 사이트 페이지가 있습니다.

http://eond.com/dental

글쓰기 페이지에서 뭘 누르면 나가겠냐는 메시지가 뜨길래 이유를 찾아보니, 레이아웃에 사용된 핫키와 동작이 충돌해서였네요. 

저는 레이아웃에 사용했지만 핫키 애드온도 있는 걸로 알고 있습니다.

해당 핫키 소스는 다음과 같습니다

function checkHotkey(){
if ( (event.srcElement.tagName != 'INPUT') && (event.srcElement.tagName != 'TEXTAREA') ){
if ( (event.keyCode=='48') || (event.keyCode=='101') ) location.replace('/eond'); /* e, 0 */
if ( (event.keyCode=='49') || (event.keyCode=='119') )location.replace('/web'); /* w, 1 */
if (event.keyCode=='50' || event.keyCode=='100') location.replace('/webmal'); /* d, 2 */
if (event.keyCode=='51' || event.keyCode=='99') location.replace('/community'); /* c, 3 */
if (event.keyCode=='52' || event.keyCode=='108') location.replace('/look'); /* l, 4 */
if ( (event.keyCode=='53') || (event.keyCode=='114') ) location.replace('/rosso'); /* r, 5 */
if ( (event.keyCode=='54') || (event.keyCode=='115') ) location.replace('/is'); /* s, 6 */
if (event.keyCode=='55' || event.keyCode=='110') location.replace('/mynote'); /* n, 7 */
if (event.keyCode=='56' || event.keyCode=='102') location.replace('/likefirst'); /* f, 8 */
if (event.keyCode=='57' || event.keyCode=='104') location.replace('/hera'); /* h, 9 */
if (event.keyCode=='121') location.replace('/yncare'); /* y */
}
}
document.onkeypress=checkHotkey;

input이나 textarea가 아닌 경우에 저런 식으로 메뉴를 이동하는 소스를 사용했는데요~

로마네스크에서 배포하는 플로알라에디터 스킨의 경우 텍스트입력박스가 인풋이나 textarea 태그가 아니라

일반 div 태그에 글이 입력이 되는 거 같네요.


※ 제 사이트 레이아웃과 플로알라 에디터 스킨의 동작 소스

※ 제 사이트 레이아웃과 플로알라 에디터 스킨의 동작 소스


실제 input에 입력되는 게 아니라 fr-element 라는 div 에 입력되고, (contenteditable="true" 이면 입력이 되나봅니다.)

입력 후 잠시 뒤 다른 곳을 클릭하면 input name="content"에 입력되더군요.


음...

https://github.com/madrobby/keymaster/issues/45

http://sarangyik.tistory.com/entry/eventsrcElement

https://developer.mozilla.org/ko/docs/Web/API/HTMLElement/contentEditable


Profile

5개의 댓글

Profile
이온디
2017.06.28
event.srcElement.isContentEditable != 'true'
event.srcElement.contentEditable

위 두 방법으로는 안되서-_-;


event.srcElement.className !='fr-element'

그냥 이렇게 했습니다;

Profile
라르게덴
2017.06.28

document.onkeypress로 정의해 버리면 페이지내의 모든 키 입력을 수행하겠다는 의미이며 이 에디터는 다른 에디터와 다르게 아이프레임으로 동작하지 않습니다. 그렇기 때문에 동일한 페이지 내에서 에디터가 동작하는 이유로 키 프레스 이벤트의 적용 범위에 들어가게 됩니다. 이러한 제어는 앞으로 프로알라 에디터에서는 지원하지 못하며 이런식으로 처리하셔야 합니다.

jQuery(document).not('[class^=fr-edit-]').keypress(checkHotkey); 
Profile
이온디
2017.06.28
(event.srcElement.getAttribute('contenteditable') != 'true')

위에 3개 다 안되는 거였네요. 착각했습니다.

이렇게 했어요.

Profile
라르게덴
2017.06.28

이 에디터와 관계 없이 자바스크립트를 구조적으로 잘 되게 만드실려면 아래처럼 하셔야해요.

jQuery(document).not('input, textarea, [contenteditable=true]').keypress(checkHotkey);
Profile
이온디
2017.06.28
@라르게덴

오 깔끔해지네요 감사합니다. 

에디터
번호 제목 글쓴이 날짜
58 그누보드는 지원계획없나요? 4 ㅇㅇ 2017.07.07
57 본문 / 댓글 영역의 툴바 메뉴 편집 후기. pock 2017.07.05
56 현재 진척상황 보고 4 profile 라르게덴 2017.07.05
55 이모티콘의 아이콘 수를 늘려볼까 생각중입니다. profile 라르게덴 2017.07.05
54 구입은 어떻게 할수 있나요 ? 1 최현우 2017.07.03
53 Froala Editor (프로알라 에디터) 체험판 사용중+계속 업데이트 2 pock 2017.07.01
52 에디터 모드 데모에서 소스코드 문제.. 2 천사시체 2017.07.01
51 모바일에서 에디터가 안 나타납니다. 2 profile 이온디 2017.06.29
50 표 작성시 셀 안에서 자음 + 모음 시 표 깨짐 현상 2 profile 이온디 2017.06.29
49 에디터 모듈 기본 설정 호환 1 profile 라르게덴 2017.06.28
핫키 사용하는 경우 5 profile 이온디 2017.06.28
47 체험판 인라인 모드의 아쉬움 5 profile 이온디 2017.06.28
46 관리자페이지 에디터 모듈에서 사용되도록 고치고 있습니다. 1 profile 라르게덴 2017.06.28
45 작성된 이미지가 필요없어지면? 5 profile 이온디 2017.06.27
44 pc로 하니 회면멈추면서 글이 안써지네요 1 천사시체 2017.06.25
43 froala editor 2.6.2가 릴리즈 되었습니다. 1 profile 라르게덴 2017.06.24
42 안녕하세요 Inline 툴바 문제로 얼마전에 글남겼던 사람입니다. 1 InlineTo 2017.06.24
41 에디터 지금 구매 할 수 있을까요? 1 also 2017.06.23
40 [질문] Froala Editor 3 pock 2017.06.22
39 첨부이미지 테스트. 6 pock 2017.06.22
Find Account
  • 이메일 주소로 계정 찾기

    아이디/비밀번호는 가입시 등록한 메일 주소로 알려드립니다. 가입할 때 등록한 메일 주소를 입력하고 "ID/PW 찾기" 버튼을 클릭해주세요.

  • 이메일 주소

    이메일 주소 형식이 올바르지 않습니다.

  • 인증메일 재발송

    인증 메일을 받지 못한 경우 다시 받을 수 있습니다.

  • 이메일 주소

    이메일 주소 형식이 올바르지 않습니다.