File tree Expand file tree Collapse file tree 2 files changed +38
-1
lines changed Expand file tree Collapse file tree 2 files changed +38
-1
lines changed Original file line number Diff line number Diff line change @@ -34,7 +34,6 @@ export default Base.extend({
3434 return ;
3535 }
3636 event . preventDefault ( ) ;
37- event . stopPropagation ( ) ;
3837 if ( this . options . delay ) {
3938 await utils . timeout ( this . options . delay ) ;
4039 }
Original file line number Diff line number Diff line change @@ -124,5 +124,43 @@ describe("pat-forward", function () {
124124 await utils . timeout ( 300 ) ;
125125 expect ( window . location . href . indexOf ( "#oh" ) > - 1 ) . toBe ( true ) ;
126126 } ) ;
127+
128+ it ( "does not steal the click event but let it bubble up." , function ( ) {
129+ document . body . innerHTML = `
130+
131+ <div class="pat-forward" data-pat-forward="#target1">
132+ <button class="pat-forward" type="button" data-pat-forward="#target2">Button 2</button>
133+ </div>
134+
135+ <div id="target1">Target 1</div>
136+ <div id="target2">Target 2</div>
137+ ` ;
138+
139+ const source1 = document . querySelector ( "div.pat-forward" ) ;
140+ const source2 = document . querySelector ( "button.pat-forward" ) ;
141+
142+ const target1 = document . querySelector ( "#target1" ) ;
143+ const target2 = document . querySelector ( "#target2" ) ;
144+
145+ let target1_clicks = 0 ;
146+ target1 . addEventListener ( "click" , ( ) => {
147+ target1_clicks ++ ;
148+ } ) ;
149+
150+ let target2_clicks = 0 ;
151+ target2 . addEventListener ( "click" , ( ) => {
152+ target2_clicks ++ ;
153+ } ) ;
154+
155+ new pattern ( source1 ) ;
156+ new pattern ( source2 ) ;
157+
158+ source1 . click ( ) ;
159+ expect ( target1_clicks ) . toBe ( 1 ) ;
160+
161+ source2 . click ( ) ;
162+ expect ( target2_clicks ) . toBe ( 1 ) ;
163+ expect ( target1_clicks ) . toBe ( 2 ) ;
164+ } ) ;
127165 } ) ;
128166} ) ;
You can’t perform that action at this time.
0 commit comments