사람들을 작은 MCE 편집기에서 들여 쓰기 할 수있는 방법을 찾으려고합니다. 지금 누군가가 tab
을 누를 때마다 그들은 다음 필드로 이동합니다. 실제로 tab
을 치고 새 단락의 탭을 만들 수있는 코드가 있습니까?작은 MCE : 사람들이 들여 쓰기를 허용하는 방법
답변
사용자가 탭을 누르면이 이벤트와 stopPropagation/return false
을 잡을 수 있습니다. 사용자가 브라우저에 의해 삭제 얻을 것이다 단락의 시작이나 끝 부분에 탭을 삽입하는 경우
// Adds an observer to the onKeyUp event using tinyMCE.init
tinyMCE.init({
...
setup : function(ed) {
ed.onKeyDown.add(function(ed, evt) {
console.debug('Key up event: ' + evt.keyCode);
if (evt.keyCode == 9){ // tab pressed
ed.execCommand('mceInsertRawHTML', false, '\x09'); // inserts tab
evt.preventDefault();
evt.stopPropagation();
return false;
}
});
}
});
(이것에 대한 해결 방법은 탭이 아닌 미리 정의 된 길이의 특수 문자를 삽입하는 것입니다) .
커서가 다음 필드로 건너 뛰는 것을 막을 수있는 방법이 있습니까? 지금은 탭을 삽입하지만 다음 필드로 이동합니다. –
또한 변수 'evt'는 단지 오류를 제공합니다. –
그것은 나의 실패 (이벤트의 버블 링을 멈추는 것이 필요하다.)이다. 나는 위의 코드에서 그것을 바로 잡았다. – Thariama
Thariama의 해결책이 나를 위해 제대로 작동하지 않았습니다. Jon Hulka의 고침에 동의합니다. 이것은 Firefox (mac + pc), Chrome (mac + pc) 및 Internet Exploder에서 제대로 작동하는 것 같습니다. 그것은 완벽하지는 않지만, 나는 그것을 매우 유용하고 수용 할 수있는 것으로 생각합니다. 다음과 같은 솔루션은 나를 위해 일한 작은 MCE 에디터의 새 버전
tinyMCE.init({
...
setup : function(ed) {
ed.onKeyDown.add(function(ed, evt) {
if (evt.keyCode == 9){
ed.execCommand('mceInsertContent', false, '  ');
evt.preventDefault();
}
});
}
});
: 감사합니다 존
그래서, 영업 이익 존의 솔루션을 포장
setup: function(ed) {
ed.on('keydown', function(event) {
if (event.keyCode == 9) { // tab pressed
if (event.shiftKey) {
ed.execCommand('Outdent');
}
else {
ed.execCommand('Indent');
}
event.preventDefault();
return false;
}
});
}
답변을 여기에 주어진 확실히하지 않았다 줄의 중간에 텍스트를 들여 줘야하므로 필자의 요구 사항을 충족시킵니다. 나는 지사의 이름을 열거하고 함께 전화 번호를 정렬하기를 원했습니다. 각 사무실 이름이 다른 길이라면 @ Mac의 답과 공백을 조합 해 보았습니다.하지만 정확도를 충분히 얻을 수 없었기 때문에 Shift 키와 스페이스 바를 사용하여 작은 공백 옵션을 추가하여 모든 것이 완벽하게 정렬되도록했습니다 . 유일한 단점은 tinymce의 기본 엔티티에는 & hairsp가 포함되지 않는다는 것입니다. 그래서 기본 엔티티 목록을 내 설정에 추가하고 끝에 "8202, hairsp"를 추가해야했습니다.
tinyMCE.init({
...
setup : function(ed) {
ed.on('keydown', function(event) {
if (event.keyCode == 9) { // tab pressed
ed.execCommand('mceInsertContent', false, '  '); // inserts tab
event.preventDefault();
return false;
}
if (event.keyCode == 32) {
if (event.shiftKey) {
ed.execCommand('mceInsertContent', false, ' '); // inserts small space
event.preventDefault();
return false;
}
}
});
}
});
그것은 TinyMCE에 사용할 플러그인을 줄 바꿈을 통해 수행 할 수 있습니다
tinymce.init({
selector: "textarea", // change this value according to your HTML
plugins: "nonbreaking",
mewnubar: "insert",
toolbar: "nonbreaking",
nonbreaking_force_tab: true
});
세부 사항은 쉽게 다음 코드를 사용하여 탭 공간을 추가 할 수 https://www.tinymce.com/docs/plugins/nonbreaking/
에서 찾을 수 있습니다
ed.on('keydown',function(evt){
if (evt.keyCode==9) {
ed.execCommand('mceInsertContent', false, '<span class="mce-nbsp">    </span>');
tinymce.dom.Event.cancel(evt);
return;
}
});
- 1. 작은 mce 콘텐츠를 준비하는 방법
- 2. 작은 MCE 포맷팅
- 3. 작은 MCE 기본 콘텐츠
- 4. 작은 MCE 키를 누르십시오
- 5. 작은 MCE 크기 조정
- 6. 작은 MCE 편집기에서 iframe
- 7. 들여 쓰기를 방지하는 방법 UITableViewCell에서보기는 textLabel이 아닌
- 8. 작은 mce 안에 노드를 강제로 넣는 방법?
- 9. 작은 mce 내부의 요소에 id를 설정하는 방법
- 10. 작은 mce 이미지 편집 삭제
- 11. 맞춤법 검사 : 작은 MCE 편집기
- 12. vim에서 깨진 자동 들여 쓰기를 수정하는 방법
- 13. 스트림 연산자에 들여 쓰기를 추가하는 방법
- 14. Vim에서 모든 탭 들여 쓰기를 만드는 방법
- 15. 출력 들여 쓰기를 유지하려면 어떻게합니까?
- 16. Xcode가 자동 들여 쓰기를 중지했습니다
- 17. HEREDOC이 코드 들여 쓰기를 방해합니다.
- 18. CSS로 ul 들여 쓰기를 제거합니다.
- 19. AptanaStudio3에서 들여 쓰기를 취소 하시겠습니까?
- 20. 모든 들여 쓰기를 제거하는 함수
- 21. innerHTML은 들여 쓰기를 고려하지 않습니다.
- 22. Emacs에서 자동 들여 쓰기를 사용하지 않음
- 23. 문자열에서 과도한 들여 쓰기를 지능적으로 제거합니다.
- 24. 작은 MCE Safari, IE <8 문제
- 25. 텍스트 영역 앞에 작은 MCE 이동
- 26. 작은 mce 팝업 멋지게 비어 있습니다.
- 27. 게시 중 작은 mce 스트립 내용
- 28. 작은 MCE 유효한 요소의 종료 태그
- 29. 내 컴퓨터에서 이미지를 선택하는 작은 MCE
- 30. Google 크롬에서 제대로 작동하지 않는 작은 mce
이 문서에서는이 문제에 대해 설명합니다. http : //www.pixelastic.com/blog/159:tabindexing-and-inserting-tabs-with-tinymce – Tim
@Tim 나는 매우 혼란스러워. 이 문제에 대한 웹 검색을 할 때마다 반대 문제가있는 사람들과 링크를 찾습니다. 탭을 누르면 다음 필드로 이동합니다. 다른 사람이 탭을 누를 때마다 다음 필드 (귀하의 기사)로 이동하지 않는 것으로 보입니다. –