@@ -2,20 +2,16 @@ define( [
2
2
"./core" ,
3
3
"./var/document" ,
4
4
"./var/rnotwhite" ,
5
- "./var/hasOwn" ,
6
5
"./var/slice" ,
7
- "./event/support" ,
8
6
"./data/var/dataPriv" ,
9
- "./data/var/acceptData" ,
10
7
11
8
"./core/init" ,
12
9
"./selector"
13
- ] , function ( jQuery , document , rnotwhite , hasOwn , slice , support , dataPriv , acceptData ) {
10
+ ] , function ( jQuery , document , rnotwhite , slice , dataPriv ) {
14
11
15
12
var
16
13
rkeyEvent = / ^ k e y / ,
17
14
rmouseEvent = / ^ (?: m o u s e | p o i n t e r | c o n t e x t m e n u | d r a g | d r o p ) | c l i c k / ,
18
- rfocusMorph = / ^ (?: f o c u s i n f o c u s | f o c u s o u t b l u r ) $ / ,
19
15
rtypenamespace = / ^ ( [ ^ . ] * ) (?: \. ( .+ ) | ) / ;
20
16
21
17
function returnTrue ( ) {
@@ -283,141 +279,6 @@ jQuery.event = {
283
279
}
284
280
} ,
285
281
286
- trigger : function ( event , data , elem , onlyHandlers ) {
287
-
288
- var i , cur , tmp , bubbleType , ontype , handle , special ,
289
- eventPath = [ elem || document ] ,
290
- type = hasOwn . call ( event , "type" ) ? event . type : event ,
291
- namespaces = hasOwn . call ( event , "namespace" ) ? event . namespace . split ( "." ) : [ ] ;
292
-
293
- cur = tmp = elem = elem || document ;
294
-
295
- // Don't do events on text and comment nodes
296
- if ( elem . nodeType === 3 || elem . nodeType === 8 ) {
297
- return ;
298
- }
299
-
300
- // focus/blur morphs to focusin/out; ensure we're not firing them right now
301
- if ( rfocusMorph . test ( type + jQuery . event . triggered ) ) {
302
- return ;
303
- }
304
-
305
- if ( type . indexOf ( "." ) > - 1 ) {
306
-
307
- // Namespaced trigger; create a regexp to match event type in handle()
308
- namespaces = type . split ( "." ) ;
309
- type = namespaces . shift ( ) ;
310
- namespaces . sort ( ) ;
311
- }
312
- ontype = type . indexOf ( ":" ) < 0 && "on" + type ;
313
-
314
- // Caller can pass in a jQuery.Event object, Object, or just an event type string
315
- event = event [ jQuery . expando ] ?
316
- event :
317
- new jQuery . Event ( type , typeof event === "object" && event ) ;
318
-
319
- // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
320
- event . isTrigger = onlyHandlers ? 2 : 3 ;
321
- event . namespace = namespaces . join ( "." ) ;
322
- event . rnamespace = event . namespace ?
323
- new RegExp ( "(^|\\.)" + namespaces . join ( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
324
- null ;
325
-
326
- // Clean up the event in case it is being reused
327
- event . result = undefined ;
328
- if ( ! event . target ) {
329
- event . target = elem ;
330
- }
331
-
332
- // Clone any incoming data and prepend the event, creating the handler arg list
333
- data = data == null ?
334
- [ event ] :
335
- jQuery . makeArray ( data , [ event ] ) ;
336
-
337
- // Allow special events to draw outside the lines
338
- special = jQuery . event . special [ type ] || { } ;
339
- if ( ! onlyHandlers && special . trigger && special . trigger . apply ( elem , data ) === false ) {
340
- return ;
341
- }
342
-
343
- // Determine event propagation path in advance, per W3C events spec (#9951)
344
- // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
345
- if ( ! onlyHandlers && ! special . noBubble && ! jQuery . isWindow ( elem ) ) {
346
-
347
- bubbleType = special . delegateType || type ;
348
- if ( ! rfocusMorph . test ( bubbleType + type ) ) {
349
- cur = cur . parentNode ;
350
- }
351
- for ( ; cur ; cur = cur . parentNode ) {
352
- eventPath . push ( cur ) ;
353
- tmp = cur ;
354
- }
355
-
356
- // Only add window if we got to document (e.g., not plain obj or detached DOM)
357
- if ( tmp === ( elem . ownerDocument || document ) ) {
358
- eventPath . push ( tmp . defaultView || tmp . parentWindow || window ) ;
359
- }
360
- }
361
-
362
- // Fire handlers on the event path
363
- i = 0 ;
364
- while ( ( cur = eventPath [ i ++ ] ) && ! event . isPropagationStopped ( ) ) {
365
-
366
- event . type = i > 1 ?
367
- bubbleType :
368
- special . bindType || type ;
369
-
370
- // jQuery handler
371
- handle = ( dataPriv . get ( cur , "events" ) || { } ) [ event . type ] &&
372
- dataPriv . get ( cur , "handle" ) ;
373
- if ( handle ) {
374
- handle . apply ( cur , data ) ;
375
- }
376
-
377
- // Native handler
378
- handle = ontype && cur [ ontype ] ;
379
- if ( handle && handle . apply && acceptData ( cur ) ) {
380
- event . result = handle . apply ( cur , data ) ;
381
- if ( event . result === false ) {
382
- event . preventDefault ( ) ;
383
- }
384
- }
385
- }
386
- event . type = type ;
387
-
388
- // If nobody prevented the default action, do it now
389
- if ( ! onlyHandlers && ! event . isDefaultPrevented ( ) ) {
390
-
391
- if ( ( ! special . _default ||
392
- special . _default . apply ( eventPath . pop ( ) , data ) === false ) &&
393
- acceptData ( elem ) ) {
394
-
395
- // Call a native DOM method on the target with the same name name as the event.
396
- // Don't do default actions on window, that's where global variables be (#6170)
397
- if ( ontype && jQuery . isFunction ( elem [ type ] ) && ! jQuery . isWindow ( elem ) ) {
398
-
399
- // Don't re-trigger an onFOO event when we call its FOO() method
400
- tmp = elem [ ontype ] ;
401
-
402
- if ( tmp ) {
403
- elem [ ontype ] = null ;
404
- }
405
-
406
- // Prevent re-triggering of the same event, since we already bubbled it above
407
- jQuery . event . triggered = type ;
408
- elem [ type ] ( ) ;
409
- jQuery . event . triggered = undefined ;
410
-
411
- if ( tmp ) {
412
- elem [ ontype ] = tmp ;
413
- }
414
- }
415
- }
416
- }
417
-
418
- return event . result ;
419
- } ,
420
-
421
282
dispatch : function ( event ) {
422
283
423
284
// Make a writable jQuery.Event from the native event object
@@ -667,37 +528,6 @@ jQuery.event = {
667
528
}
668
529
}
669
530
}
670
- } ,
671
-
672
- // Piggyback on a donor event to simulate a different one
673
- simulate : function ( type , elem , event ) {
674
- var e = jQuery . extend (
675
- new jQuery . Event ( ) ,
676
- event ,
677
- {
678
- type : type ,
679
- isSimulated : true
680
-
681
- // Previously, `originalEvent: {}` was set here, so stopPropagation call
682
- // would not be triggered on donor event, since in our own
683
- // jQuery.event.stopPropagation function we had a check for existence of
684
- // originalEvent.stopPropagation method, so, consequently it would be a noop.
685
- //
686
- // But now, this "simulate" function is used only for events
687
- // for which stopPropagation() is noop, so there is no need for that anymore.
688
- //
689
- // For the compat branch though, guard for "click" and "submit"
690
- // events is still used, but was moved to jQuery.event.stopPropagation function
691
- // because `originalEvent` should point to the original event for the constancy
692
- // with other events and for more focused logic
693
- }
694
- ) ;
695
-
696
- jQuery . event . trigger ( e , null , elem ) ;
697
-
698
- if ( e . isDefaultPrevented ( ) ) {
699
- event . preventDefault ( ) ;
700
- }
701
531
}
702
532
} ;
703
533
@@ -823,48 +653,6 @@ jQuery.each( {
823
653
} ;
824
654
} ) ;
825
655
826
- // Support: Firefox
827
- // Firefox doesn't have focus(in | out) events
828
- // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
829
- //
830
- // Support: Chrome, Safari
831
- // focus(in | out) events fire after focus & blur events,
832
- // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
833
- // Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
834
- if ( ! support . focusin ) {
835
- jQuery . each ( { focus : "focusin" , blur : "focusout" } , function ( orig , fix ) {
836
-
837
- // Attach a single capturing handler on the document while someone wants focusin/focusout
838
- var handler = function ( event ) {
839
- jQuery . event . simulate ( fix , event . target , jQuery . event . fix ( event ) ) ;
840
- } ;
841
-
842
- jQuery . event . special [ fix ] = {
843
- setup : function ( ) {
844
- var doc = this . ownerDocument || this ,
845
- attaches = dataPriv . access ( doc , fix ) ;
846
-
847
- if ( ! attaches ) {
848
- doc . addEventListener ( orig , handler , true ) ;
849
- }
850
- dataPriv . access ( doc , fix , ( attaches || 0 ) + 1 ) ;
851
- } ,
852
- teardown : function ( ) {
853
- var doc = this . ownerDocument || this ,
854
- attaches = dataPriv . access ( doc , fix ) - 1 ;
855
-
856
- if ( ! attaches ) {
857
- doc . removeEventListener ( orig , handler , true ) ;
858
- dataPriv . remove ( doc , fix ) ;
859
-
860
- } else {
861
- dataPriv . access ( doc , fix , attaches ) ;
862
- }
863
- }
864
- } ;
865
- } ) ;
866
- }
867
-
868
656
jQuery . fn . extend ( {
869
657
870
658
on : function ( types , selector , data , fn ) {
@@ -908,18 +696,6 @@ jQuery.fn.extend( {
908
696
return this . each ( function ( ) {
909
697
jQuery . event . remove ( this , types , fn , selector ) ;
910
698
} ) ;
911
- } ,
912
-
913
- trigger : function ( type , data ) {
914
- return this . each ( function ( ) {
915
- jQuery . event . trigger ( type , data , this ) ;
916
- } ) ;
917
- } ,
918
- triggerHandler : function ( type , data ) {
919
- var elem = this [ 0 ] ;
920
- if ( elem ) {
921
- return jQuery . event . trigger ( type , data , elem , true ) ;
922
- }
923
699
}
924
700
} ) ;
925
701
0 commit comments