1
탭으로 나는 많은 공간을 의미하므로, 편집기에서 글을 쓸 때 키보드의 탭 버튼을 누르기를 원하고 요소를 바꾸는 대신 공백을 가져옵니다.사용자 정의 wysiwyg 편집기에 '탭'기능을 어떻게 추가합니까?
탭으로 나는 많은 공간을 의미하므로, 편집기에서 글을 쓸 때 키보드의 탭 버튼을 누르기를 원하고 요소를 바꾸는 대신 공백을 가져옵니다.사용자 정의 wysiwyg 편집기에 '탭'기능을 어떻게 추가합니까?
탭 문자로 사용하는 플러그인이 있습니다. 꽤 포괄적 인 one이 있습니다. 스크립트에 삽입 할 수있는 코드가 필요하면 간단하게 썼습니다. 그것을 사용하려면
var shift = false;
function codebox(element) {
element.addEventListener("keyup", function(event) {
if (event.keyCode == 16)
shift = false;
});
element.addEventListener("keydown", function(event) {
if (event.keyCode == 16) {
shift = true;
return;
}
if (event.keyCode == 9) {
var start = this.selectionStart;
var end = this.selectionEnd;
var lead = this.value.substr(0, start);
var chunk = this.value.substr(start, end - start);
if (!shift) {
if (start == end)
lead = lead + "\t";
else {
lead = ("\n" + lead).split("").reverse().join("").replace(/\n/, "\t\n").split("").reverse().join("").substr(1);
chunk = chunk.replace(/\n/g, "\n\t");
if (chunk.substr(-2) == "\n\t")
chunk = chunk.substr(0, chunk.length - 1);
}
} else {
if (chunk.split("")[0] == "\t") {
lead = lead + "\t";
chunk = chunk.substr(1);
}
lead = ("\n" + lead).split("").reverse().join("").replace(/\t\n/, "\n").split("").reverse().join("").substr(1);
chunk = chunk.replace(/\n\t/g, "\n");
}
this.value = lead + chunk + this.value.substr(end);
this.selectionStart = lead.length;
this.selectionEnd = lead.length + chunk.length;
event.preventDefault();
}
});
}
, 단순히 이렇게 : 당신이 공간을 원하기 때문에
new codebox(myTextAreaElement);
는 공백과 탭 사이의 변환 절차와 이벤트 핸들러를 포장.
어떤 WYSIWYG 편집기입니까? –
무슨 편집자가됩니까? 엄청나게 많습니다. – Pointy
리치 텍스트 에디터 – siaooo