File tree 2 files changed +17
-2
lines changed
2 files changed +17
-2
lines changed Original file line number Diff line number Diff line change @@ -850,13 +850,13 @@ forEach({
850
850
var types = type . indexOf ( ' ' ) >= 0 ? type . split ( ' ' ) : [ type ] ;
851
851
var i = types . length ;
852
852
853
- var addHandler = function ( type , specialHandlerWrapper ) {
853
+ var addHandler = function ( type , specialHandlerWrapper , noEventListener ) {
854
854
var eventFns = events [ type ] ;
855
855
856
856
if ( ! eventFns ) {
857
857
eventFns = events [ type ] = [ ] ;
858
858
eventFns . specialHandlerWrapper = specialHandlerWrapper ;
859
- if ( type !== '$destroy' ) {
859
+ if ( type !== '$destroy' && ! noEventListener ) {
860
860
addEventListenerFn ( element , type , handle ) ;
861
861
}
862
862
}
@@ -868,6 +868,7 @@ forEach({
868
868
type = types [ i ] ;
869
869
if ( MOUSE_EVENT_MAP [ type ] ) {
870
870
addHandler ( MOUSE_EVENT_MAP [ type ] , specialMouseHandlerWrapper ) ;
871
+ addHandler ( type , undefined , true ) ;
871
872
} else {
872
873
addHandler ( type ) ;
873
874
}
Original file line number Diff line number Diff line change @@ -1469,6 +1469,20 @@ describe('jqLite', function() {
1469
1469
expect ( onMouseleave ) . toHaveBeenCalledOnce ( ) ;
1470
1470
} ) ;
1471
1471
1472
+ it ( 'should call a `mouseenter/leave` listener when manually triggering the event' , function ( ) {
1473
+ var aElem = jqLite ( a ) ;
1474
+ var onMouseenter = jasmine . createSpy ( 'mouseenter' ) ;
1475
+ var onMouseleave = jasmine . createSpy ( 'mouseleave' ) ;
1476
+
1477
+ aElem . on ( 'mouseenter' , onMouseenter ) ;
1478
+ aElem . on ( 'mouseleave' , onMouseleave ) ;
1479
+
1480
+ aElem . triggerHandler ( 'mouseenter' ) ;
1481
+ expect ( onMouseenter ) . toHaveBeenCalledOnce ( ) ;
1482
+
1483
+ aElem . triggerHandler ( 'mouseleave' ) ;
1484
+ expect ( onMouseleave ) . toHaveBeenCalledOnce ( ) ;
1485
+ } ) ;
1472
1486
1473
1487
1474
1488
it ( 'should deregister specific listener within the listener and call subsequent listeners' , function ( ) {
You can’t perform that action at this time.
0 commit comments