Sha256: 6bec72408bac98808c86d505aa671601fd331b153e03f430e52cbfd97078177b

Contents?: true

Size: 1.63 KB

Versions: 37

Compression:

Stored size: 1.63 KB

Contents

define( [
	"../core",
	"../data/var/dataPriv",
	"./support",

	"../event",
	"./trigger"
], function( jQuery, dataPriv, support ) {

"use strict";

// Support: Firefox <=44
// Firefox doesn't have focus(in | out) events
// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
//
// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
// 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://bugs.chromium.org/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 ) );
		};

		jQuery.event.special[ fix ] = {
			setup: function() {

				// Handle: regular nodes (via `this.ownerDocument`), window
				// (via `this.document`) & document (via `this`).
				var doc = this.ownerDocument || this.document || this,
					attaches = dataPriv.access( doc, fix );

				if ( !attaches ) {
					doc.addEventListener( orig, handler, true );
				}
				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
			},
			teardown: function() {
				var doc = this.ownerDocument || this.document || this,
					attaches = dataPriv.access( doc, fix ) - 1;

				if ( !attaches ) {
					doc.removeEventListener( orig, handler, true );
					dataPriv.remove( doc, fix );

				} else {
					dataPriv.access( doc, fix, attaches );
				}
			}
		};
	} );
}

return jQuery;
} );

Version data entries

37 entries across 28 versions & 4 rubygems

Version Path
trusty-cms-6.3.1 node_modules/jquery-treetable/node_modules/jquery/src/event/focusin.js
trusty-cms-6.3.1 node_modules/jquery/src/event/focusin.js
trusty-cms-6.3.1 node_modules/jquery-ujs/node_modules/jquery/src/event/focusin.js
optimacms-0.1.61 spec/dummy/node_modules/jquery-ujs/node_modules/jquery/src/event/focusin.js
optimacms-0.1.61 spec/dummy/node_modules/cocoon-js/node_modules/jquery/src/event/focusin.js
udt-itf-theme-0.1.0 _sass/node_modules/jquery/src/event/focusin.js
trusty-cms-5.0.7 node_modules/jquery/src/event/focusin.js
trusty-cms-5.0.6 node_modules/jquery/src/event/focusin.js
trusty-cms-5.0.5 node_modules/jquery/src/event/focusin.js
trusty-cms-5.0.4 node_modules/jquery/src/event/focusin.js
trusty-cms-5.0.3 node_modules/jquery/src/event/focusin.js
trusty-cms-5.0.2 node_modules/jquery/src/event/focusin.js
trusty-cms-5.0.1 node_modules/jquery/src/event/focusin.js
trusty-cms-4.3.5 node_modules/jquery/src/event/focusin.js
trusty-cms-5.0.0 node_modules/jquery/src/event/focusin.js
trusty-cms-4.3.4 node_modules/jquery/src/event/focusin.js
trusty-cms-4.3.4 spec/dummy/node_modules/jquery/src/event/focusin.js
trusty-cms-4.3.3 spec/dummy/node_modules/jquery/src/event/focusin.js
trusty-cms-4.3.3 node_modules/jquery/src/event/focusin.js
trusty-cms-4.3.2 spec/dummy/node_modules/jquery/src/event/focusin.js