aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack')
-rw-r--r--actionpack/lib/action_view/helpers/javascripts/prototype.js14
1 files changed, 12 insertions, 2 deletions
diff --git a/actionpack/lib/action_view/helpers/javascripts/prototype.js b/actionpack/lib/action_view/helpers/javascripts/prototype.js
index e9ccd3c885..545f3af040 100644
--- a/actionpack/lib/action_view/helpers/javascripts/prototype.js
+++ b/actionpack/lib/action_view/helpers/javascripts/prototype.js
@@ -1154,8 +1154,18 @@ var Field = {
$(arguments[i]).value = '';
},
- focus: function(element) {
- $(element).focus();
+ // Pass the field id or element as the first parameter and optionally a triggering delay in micro-seconds as the second.
+ // The delay is useful when the focus is part of effects that won't finish instantly since they prevent the focus from
+ // taking hold. Set the delay to right after the effect finishes and the focus will work.
+ focus: function() {
+ element = $(arguments[0]);
+ delay = arguments[1];
+
+ if (delay) {
+ setTimeout(function() { $(element).focus(); }, delay)
+ } else {
+ $(element).focus();
+ }
},
present: function() {