diff options
Diffstat (limited to 'program/js/common.js')
-rw-r--r-- | program/js/common.js | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/program/js/common.js b/program/js/common.js index f9e945c05..f7c0a7536 100644 --- a/program/js/common.js +++ b/program/js/common.js @@ -717,13 +717,15 @@ if (bw.ie) { // jQuery plugin to emulate HTML5 placeholder attributes on input elements jQuery.fn.placeholder = function(text) { return this.each(function() { - var elem = $(this); + var active = false, elem = $(this); this.title = text; + // Try HTML5 placeholder attribute first if ('placeholder' in this) { - elem.attr('placeholder', text); // Try HTML5 placeholder attribute first + elem.attr('placeholder', text); } - else { // Fallback to Javascript emulation of placeholder + // Fallback to Javascript emulation of placeholder + else { this._placeholder = text; elem.blur(function(e) { if ($.trim(elem.val()) == "") @@ -740,7 +742,9 @@ jQuery.fn.placeholder = function(text) { elem[(active ? 'addClass' : 'removeClass')]('placeholder').attr('spellcheck', active); }); - if (this != document.activeElement) // Do not blur currently focused element + // Do not blur currently focused element (catch exception: #1489008) + try { active = this == document.activeElement; } catch(e) {} + if (!active) elem.blur(); } }); |