diff --git a/adminer/static/functions.js b/adminer/static/functions.js index 39cc4343..5bf61526 100644 --- a/adminer/static/functions.js +++ b/adminer/static/functions.js @@ -170,14 +170,17 @@ function textareaKeydown(target, event, tab, button) { // inspired by http://pallieter.org/Projects/insertTab/ if (target.setSelectionRange) { var start = target.selectionStart; + var scrolled = target.scrollTop; target.value = target.value.substr(0, start) + '\t' + target.value.substr(target.selectionEnd); target.setSelectionRange(start + 1, start + 1); + target.scrollTop = scrolled; return false; //! still loses focus in Opera, can be solved by handling onblur } else if (target.createTextRange) { document.selection.createRange().text = '\t'; return false; } - } else if (event.keyCode == 27) { + } + if (event.keyCode == 27) { var els = target.form.elements; for (var i=1; i < els.length; i++) { if (els[i-1] == target) {