]> source.dussan.org Git - jquery.git/commitdiff
Event: provide verbose comment for focus(in | out) & rename support prop
authorOleg Gaidarenko <markelog@gmail.com>
Tue, 12 May 2015 22:15:19 +0000 (01:15 +0300)
committerOleg Gaidarenko <markelog@gmail.com>
Tue, 19 May 2015 10:43:34 +0000 (13:43 +0300)
Closes gh-2312

src/event.js
src/event/support.js
test/unit/support.js

index 584ba90737229e9828849f05ea051347791fc926..361a5489f69ed2ab3cf1f894b5084890352e53ce 100644 (file)
@@ -748,15 +748,21 @@ jQuery.each({
        };
 });
 
-// Support: Firefox, Chrome, Safari
-// Create "bubbling" focus and blur events
-if ( !support.focusinBubbles ) {
+// Support: Firefox
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome, Safari
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
        jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
 
                // Attach a single capturing handler on the document while someone wants focusin/focusout
                var handler = function( event ) {
-                               jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
-                       };
+                       jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
+               };
 
                jQuery.event.special[ fix ] = {
                        setup: function() {
index 85060db773aea2df60366e045e4c7a6be822f0f0..7ddca6a8d9c63026a9702f6775bdd6f89ae77a97 100644 (file)
@@ -2,7 +2,7 @@ define([
        "../var/support"
 ], function( support ) {
 
-support.focusinBubbles = "onfocusin" in window;
+support.focusin = "onfocusin" in window;
 
 return support;
 
index 81ae0d05329d84499580c663319bdc821ad66ac0..bf3e114d83dc1eacf50afbc69dcc875b8789afcf 100644 (file)
@@ -62,7 +62,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": true,
                        "cors": true,
                        "createHTMLDocument": true,
-                       "focusinBubbles": false,
+                       "focusin": false,
                        "noCloneChecked": true,
                        "optDisabled": true,
                        "optSelected": true,
@@ -80,7 +80,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": false,
                        "cors": true,
                        "createHTMLDocument": true,
-                       "focusinBubbles": true,
+                       "focusin": true,
                        "noCloneChecked": false,
                        "optDisabled": true,
                        "optSelected": false,
@@ -98,7 +98,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": false,
                        "cors": false,
                        "createHTMLDocument": true,
-                       "focusinBubbles": true,
+                       "focusin": true,
                        "noCloneChecked": false,
                        "optDisabled": true,
                        "optSelected": false,
@@ -116,7 +116,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": true,
                        "cors": true,
                        "createHTMLDocument": false,
-                       "focusinBubbles": false,
+                       "focusin": false,
                        "noCloneChecked": true,
                        "optDisabled": true,
                        "optSelected": true,
@@ -134,7 +134,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": true,
                        "cors": true,
                        "createHTMLDocument": true,
-                       "focusinBubbles": false,
+                       "focusin": false,
                        "noCloneChecked": true,
                        "optDisabled": true,
                        "optSelected": true,
@@ -152,7 +152,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": true,
                        "cors": true,
                        "createHTMLDocument": true,
-                       "focusinBubbles": false,
+                       "focusin": false,
                        "noCloneChecked": true,
                        "optDisabled": true,
                        "optSelected": true,
@@ -170,7 +170,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": true,
                        "cors": true,
                        "createHTMLDocument": false,
-                       "focusinBubbles": false,
+                       "focusin": false,
                        "noCloneChecked": true,
                        "optDisabled": true,
                        "optSelected": true,
@@ -188,7 +188,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": true,
                        "cors": true,
                        "createHTMLDocument": true,
-                       "focusinBubbles": false,
+                       "focusin": false,
                        "noCloneChecked": true,
                        "optDisabled": true,
                        "optSelected": true,
@@ -206,7 +206,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": true,
                        "cors": true,
                        "createHTMLDocument": true,
-                       "focusinBubbles": false,
+                       "focusin": false,
                        "noCloneChecked": true,
                        "optDisabled": true,
                        "optSelected": true,
@@ -224,7 +224,7 @@ testIframeWithCallback( "Check CSP (https://developer.mozilla.org/en-US/docs/Sec
                        "clearCloneStyle": false,
                        "cors": true,
                        "createHTMLDocument": true,
-                       "focusinBubbles": false,
+                       "focusin": false,
                        "noCloneChecked": true,
                        "optDisabled": false,
                        "optSelected": true,