핫키를 사용하는 사이트 페이지가 있습니다.
글쓰기 페이지에서 뭘 누르면 나가겠냐는 메시지가 뜨길래 이유를 찾아보니, 레이아웃에 사용된 핫키와 동작이 충돌해서였네요.
저는 레이아웃에 사용했지만 핫키 애드온도 있는 걸로 알고 있습니다.
해당 핫키 소스는 다음과 같습니다
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
번호 | 제목 | 글쓴이 | 날짜 |
---|---|---|---|
59 | 집도 얼추 꾸며졌고... 2 |
![]() | 2017.07.15 |
58 | 그누보드는 지원계획없나요? 4 |
![]() | 2017.07.07 |
57 | 본문 / 댓글 영역의 툴바 메뉴 편집 후기. |
![]() | 2017.07.05 |
56 | 현재 진척상황 보고 4 |
![]() | 2017.07.05 |
55 | 이모티콘의 아이콘 수를 늘려볼까 생각중입니다. |
![]() | 2017.07.05 |
54 | 구입은 어떻게 할수 있나요 ? 1 |
![]() | 2017.07.03 |
53 | Froala Editor (프로알라 에디터) 체험판 사용중+계속 업데이트 2 |
![]() | 2017.07.01 |
52 | 에디터 모드 데모에서 소스코드 문제.. 2 |
![]() | 2017.07.01 |
51 | 모바일에서 에디터가 안 나타납니다. 2 |
![]() | 2017.06.29 |
50 | 표 작성시 셀 안에서 자음 + 모음 시 표 깨짐 현상 2 |
![]() | 2017.06.29 |
49 | 에디터 모듈 기본 설정 호환 1 |
![]() | 2017.06.28 |
핫키 사용하는 경우 5 |
![]() | 2017.06.28 | |
47 | 체험판 인라인 모드의 아쉬움 5 |
![]() | 2017.06.28 |
46 | 관리자페이지 에디터 모듈에서 사용되도록 고치고 있습니다. 1 |
![]() | 2017.06.28 |
45 | 작성된 이미지가 필요없어지면? 5 |
![]() | 2017.06.27 |
44 | pc로 하니 회면멈추면서 글이 안써지네요 1 |
![]() | 2017.06.25 |
43 | froala editor 2.6.2가 릴리즈 되었습니다. 1 |
![]() | 2017.06.24 |
42 | 안녕하세요 Inline 툴바 문제로 얼마전에 글남겼던 사람입니다. 1 |
![]() | 2017.06.24 |
41 | 에디터 지금 구매 할 수 있을까요? 1 |
![]() | 2017.06.23 |
40 | [질문] Froala Editor 3 |
![]() | 2017.06.22 |
이온디
2017.06.28event.srcElement.isContentEditable != 'true'
위 두 방법으로는 안되서-_-;
event.srcElement.className !='fr-element'
그냥 이렇게 했습니다;
라르게덴
2017.06.28document.onkeypress로 정의해 버리면 페이지내의 모든 키 입력을 수행하겠다는 의미이며 이 에디터는 다른 에디터와 다르게 아이프레임으로 동작하지 않습니다. 그렇기 때문에 동일한 페이지 내에서 에디터가 동작하는 이유로 키 프레스 이벤트의 적용 범위에 들어가게 됩니다. 이러한 제어는 앞으로 프로알라 에디터에서는 지원하지 못하며 이런식으로 처리하셔야 합니다.
이온디
2017.06.28위에 3개 다 안되는 거였네요. 착각했습니다.
이렇게 했어요.
라르게덴
2017.06.28이 에디터와 관계 없이 자바스크립트를 구조적으로 잘 되게 만드실려면 아래처럼 하셔야해요.
jQuery(document).not('input, textarea, [contenteditable=true]').keypress(checkHotkey);
이온디
2017.06.28오 깔끔해지네요 감사합니다.