@@ -529,4 +529,65 @@ test( "auto-destroy - .detach()", function() {
529
529
$ ( "#widget" ) . testWidget ( ) . detach ( ) ;
530
530
} ) ;
531
531
532
+ test ( "_bind to element (default)" , function ( ) {
533
+ expect ( 12 ) ;
534
+ var self ;
535
+ $ . widget ( "ui.testWidget" , {
536
+ _create : function ( ) {
537
+ self = this ;
538
+ this . _bind ( {
539
+ keyup : this . keyup ,
540
+ keydown : this . keydown
541
+ } ) ;
542
+ } ,
543
+ keyup : function ( event ) {
544
+ equals ( self , this ) ;
545
+ equals ( self . element [ 0 ] , event . currentTarget ) ;
546
+ equals ( "keyup" , event . type ) ;
547
+ } ,
548
+ keydown : function ( event ) {
549
+ equals ( self , this ) ;
550
+ equals ( self . element [ 0 ] , event . currentTarget ) ;
551
+ equals ( "keydown" , event . type ) ;
552
+ }
553
+ } ) ;
554
+ var widget = $ ( "<div></div>" ) . testWidget ( ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
555
+ widget . testWidget ( "disable" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
556
+ widget . testWidget ( "enable" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
557
+ widget . testWidget ( "destroy" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
558
+ } ) ;
559
+
560
+ test ( "_bind to descendent" , function ( ) {
561
+ expect ( 12 ) ;
562
+ var self ;
563
+ $ . widget ( "ui.testWidget" , {
564
+ _create : function ( ) {
565
+ self = this ;
566
+ this . _bind ( this . element . find ( "strong" ) , {
567
+ keyup : this . keyup ,
568
+ keydown : this . keydown
569
+ } ) ;
570
+ } ,
571
+ keyup : function ( event ) {
572
+ equals ( self , this ) ;
573
+ equals ( self . element . find ( "strong" ) [ 0 ] , event . currentTarget ) ;
574
+ equals ( "keyup" , event . type ) ;
575
+ } ,
576
+ keydown : function ( event ) {
577
+ equals ( self , this ) ;
578
+ equals ( self . element . find ( "strong" ) [ 0 ] , event . currentTarget ) ;
579
+ equals ( "keydown" , event . type ) ;
580
+ }
581
+ } ) ;
582
+ // trigger events on both widget and descendent to ensure that only descendent receives them
583
+ var widget = $ ( "<div><p><strong>hello</strong> world</p></div>" ) . testWidget ( ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
584
+ var descendent = widget . find ( "strong" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
585
+ widget . testWidget ( "disable" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
586
+ descendent . trigger ( "keyup" ) . trigger ( "keydown" ) ;
587
+ widget . testWidget ( "enable" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
588
+ descendent . trigger ( "keyup" ) . trigger ( "keydown" ) ;
589
+ widget . testWidget ( "destroy" ) . trigger ( "keyup" ) . trigger ( "keydown" ) ;
590
+ descendent . trigger ( "keyup" ) . trigger ( "keydown" ) ;
591
+ } ) ;
592
+
532
593
} ) ( jQuery ) ;
0 commit comments