Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/phpmyadmin/phpmyadmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ.M <me@mynetx.net>2013-04-30 19:46:36 +0400
committerJ.M <me@mynetx.net>2013-04-30 19:46:36 +0400
commitfc62e1f9f63be4f0c458b8ec796f0c8023a2ea69 (patch)
tree7dc77e9bd324066d05f11ba71a892af7f5f476a1 /js/keyhandler.js
parentcafb6fbd75a5b6f777c788ffa1b9558f5477176e (diff)
parent5dc0c7a2174e4236c9353513bed2283e0381325f (diff)
Merge branch 'origin/QA_4_0'
Conflicts: js/keyhandler.js js/tbl_structure.js
Diffstat (limited to 'js/keyhandler.js')
-rw-r--r--js/keyhandler.js28
1 files changed, 20 insertions, 8 deletions
diff --git a/js/keyhandler.js b/js/keyhandler.js
index a1467e48cf..9a1b325427 100644
--- a/js/keyhandler.js
+++ b/js/keyhandler.js
@@ -5,16 +5,16 @@
* @param object event data
*/
-AJAX.registerTeardown('keyhandler.js', function () {
- $('#table_columns').die('keydown');
- $('table.insertRowTable').die('keydown');
+AJAX.registerTeardown('keyhandler.js', function() {
+ $('#table_columns').die('keydown keyup');
+ $('table.insertRowTable').die('keydown keyup');
});
-AJAX.registerOnload('keyhandler.js', function () {
- $('#table_columns').live('keydown', function (event) {
+AJAX.registerOnload('keyhandler.js', function() {
+ $('#table_columns').live('keydown keyup', function(event) {
onKeyDownArrowsHandler(event.originalEvent);
});
- $('table.insertRowTable').live('keydown', function (event) {
+ $('table.insertRowTable').live('keydown keyup', function(event) {
onKeyDownArrowsHandler(event.originalEvent);
});
});
@@ -28,7 +28,7 @@ function onKeyDownArrowsHandler(e)
}
if (o.tagName != "TEXTAREA" && o.tagName != "INPUT" && o.tagName != "SELECT") {
return;
- }
+ }console.log(e);
if (navigator.userAgent.toLowerCase().indexOf('applewebkit/') != -1) {
if (e.ctrlKey || e.shiftKey || !e.altKey) {
return;
@@ -72,6 +72,13 @@ function onKeyDownArrowsHandler(e)
return;
}
+ var is_firefox = navigator.userAgent.toLowerCase().indexOf("firefox/") > -1;
+
+ // restore selected index, bug #3799
+ if (is_firefox && e.type == "keyup") {
+ o.selectedIndex = window["selectedIndex_" + o.id];
+ }
+
var id = "field_" + y + "_" + x;
nO = document.getElementById(id);
if (! nO) {
@@ -83,7 +90,12 @@ function onKeyDownArrowsHandler(e)
if (! nO) {
return;
}
- nO.focus();
+ if (e.type == "keydown") {
+ nO.focus();
+ if (is_firefox) {
+ window["selectedIndex_" + nO.id] = nO.selectedIndex;
+ }
+ }
if (nO.tagName != 'SELECT') {
nO.select();
}