franta-hg@14: /** Umožní zadávat tabulátor */ franta-hg@14: franta-hg@14: var tab = "\t"; franta-hg@14: franta-hg@14: function checkTab(evt) { franta-hg@14: franta-hg@14: var t = evt.target; franta-hg@14: var ss = t.selectionStart; franta-hg@14: var se = t.selectionEnd; franta-hg@14: franta-hg@14: franta-hg@14: // Tabulátor franta-hg@14: if (evt.keyCode == 9) { franta-hg@14: evt.preventDefault(); franta-hg@14: franta-hg@14: // Víceřádkový výběr franta-hg@14: if (ss != se && t.value.slice(ss,se).indexOf("\n") != -1) { franta-hg@14: var pre = t.value.slice(0,ss); franta-hg@14: var sel = t.value.slice(ss,se).replace(/\n/g,"\n"+tab); franta-hg@14: var post = t.value.slice(se,t.value.length); franta-hg@14: t.value = pre.concat(tab).concat(sel).concat(post); franta-hg@14: t.selectionStart = ss + tab.length; franta-hg@14: t.selectionEnd = se + tab.length; franta-hg@14: } franta-hg@14: franta-hg@14: // Jednořádkový nebo žádný výběr franta-hg@14: else { franta-hg@14: t.value = t.value.slice(0,ss).concat(tab).concat(t.value.slice(ss,t.value.length)); franta-hg@14: if (ss == se) { franta-hg@14: t.selectionStart = t.selectionEnd = ss + tab.length; franta-hg@14: } franta-hg@14: else { franta-hg@14: t.selectionStart = ss + tab.length; franta-hg@14: t.selectionEnd = se + tab.length; franta-hg@14: } franta-hg@14: } franta-hg@14: } franta-hg@14: franta-hg@14: // Backspace franta-hg@14: else if (evt.keyCode==8 && t.value.slice(ss - 4,ss) == tab) { franta-hg@14: evt.preventDefault(); franta-hg@14: t.value = t.value.slice(0,ss - 4).concat(t.value.slice(ss,t.value.length)); franta-hg@14: t.selectionStart = t.selectionEnd = ss - tab.length; franta-hg@14: } franta-hg@14: franta-hg@14: // Delete franta-hg@14: else if (evt.keyCode==46 && t.value.slice(se,se + 4) == tab) { franta-hg@14: evt.preventDefault(); franta-hg@14: t.value = t.value.slice(0,ss).concat(t.value.slice(ss + 4,t.value.length)); franta-hg@14: t.selectionStart = t.selectionEnd = ss; franta-hg@14: } franta-hg@14: franta-hg@14: // Doleva franta-hg@14: else if (evt.keyCode == 37 && t.value.slice(ss - 4,ss) == tab) { franta-hg@14: alert("levá"); franta-hg@14: evt.preventDefault(); franta-hg@14: t.selectionStart = t.selectionEnd = ss - 4; franta-hg@14: } franta-hg@14: franta-hg@14: // Doprava franta-hg@14: else if (evt.keyCode == 39 && t.value.slice(ss,ss + 4) == tab) { franta-hg@14: alert("pravá"); franta-hg@14: evt.preventDefault(); franta-hg@14: t.selectionStart = t.selectionEnd = ss + 4; franta-hg@14: } franta-hg@14: }