Esc to focus next field in Tab textarea (thanks to David Grudl)

This commit is contained in:
Jakub Vrana 2011-03-08 13:46:37 +01:00
parent 740ae10a3d
commit 1420b6a259
2 changed files with 28 additions and 10 deletions

View file

@ -165,16 +165,26 @@ function selectAddRow(field) {
* @return boolean * @return boolean
*/ */
function textareaKeydown(target, event, tab, button) { function textareaKeydown(target, event, tab, button) {
if (tab && event.keyCode == 9 && !event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) { if (tab && !event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) {
// inspired by http://pallieter.org/Projects/insertTab/ if (event.keyCode == 9) {
if (target.setSelectionRange) { // inspired by http://pallieter.org/Projects/insertTab/
var start = target.selectionStart; if (target.setSelectionRange) {
target.value = target.value.substr(0, start) + '\t' + target.value.substr(target.selectionEnd); var start = target.selectionStart;
target.setSelectionRange(start + 1, start + 1); target.value = target.value.substr(0, start) + '\t' + target.value.substr(target.selectionEnd);
return false; //! still loses focus in Opera, can be solved by handling onblur target.setSelectionRange(start + 1, start + 1);
} else if (target.createTextRange) { return false; //! still loses focus in Opera, can be solved by handling onblur
document.selection.createRange().text = '\t'; } else if (target.createTextRange) {
return false; document.selection.createRange().text = '\t';
return false;
}
} else if (event.keyCode == 27) {
var els = target.form.elements;
for (var i=1; i < els.length; i++) {
if (els[i-1] == target) {
els[i].focus();
break;
}
}
} }
} }
if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10) && !event.altKey && !event.metaKey) { // shiftKey allowed if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10) && !event.altKey && !event.metaKey) { // shiftKey allowed

View file

@ -1,3 +1,11 @@
Adminer 3.2.1-dev:
Respect default database collation (bug #3191489)
Don't export triggers without table (bug #3193489)
Esc to focus next field in Tab textarea (thanks to David Grudl)
Enum editor and textarea Ctrl+Enter working in IE
AJAX forms in Google Chrome
Parse UTF-16 and UTF-8 BOM in all text uploads
Adminer 3.2.0 (released 2011-02-24): Adminer 3.2.0 (released 2011-02-24):
Get long texts and slow information by AJAX Get long texts and slow information by AJAX
Most links and forms by AJAX in browsers with support for history.pushState Most links and forms by AJAX in browsers with support for history.pushState