From: TJ VanToll Date: Mon, 30 Sep 2013 14:49:42 +0000 (+0300) Subject: Dialog: Safe activeElement access. X-Git-Tag: 1.10.4~37 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=29e8077871902a49f3039633a7fb9ac5c4093aa8;p=jquery-ui.git Dialog: Safe activeElement access. Fixed #9420 - Dialog: Close causes blur of window in IE9 Fixed #8443 - Dialog: "unspecified error" when using ie9 and iframe (cherry picked from commit 2dfe85d3e2269a571e07bd550bbd838ee703b833) --- diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js index 22bbfbc6d..9e2a3b8bc 100644 --- a/ui/jquery.ui.dialog.js +++ b/ui/jquery.ui.dialog.js @@ -169,7 +169,8 @@ $.widget( "ui.dialog", { enable: $.noop, close: function( event ) { - var that = this; + var activeElement, + that = this; if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) { return; @@ -179,10 +180,22 @@ $.widget( "ui.dialog", { this._destroyOverlay(); if ( !this.opener.filter(":focusable").focus().length ) { - // Hiding a focused element doesn't trigger blur in WebKit - // so in case we have nothing to focus on, explicitly blur the active element - // https://bugs.webkit.org/show_bug.cgi?id=47182 - $( this.document[0].activeElement ).blur(); + + // support: IE9 + // IE9 throws an "Unspecified error" accessing document.activeElement from an