This repository was archived by the owner on Oct 8, 2021. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +45
-3
lines changed
Expand file tree Collapse file tree 3 files changed +45
-3
lines changed Original file line number Diff line number Diff line change @@ -299,7 +299,7 @@ $.widget( "mobile.panel", {
299299 o = self . options ,
300300
301301 _openPanel = function ( ) {
302- self . document . off ( "panelclose" ) ;
302+ self . _off ( self . document , "panelclose" ) ;
303303 self . _page ( ) . jqmData ( "panel" , "open" ) ;
304304
305305 if ( $ . support . cssTransform3d && ! ! o . animate && o . display !== "overlay" ) {
@@ -362,8 +362,8 @@ $.widget( "mobile.panel", {
362362 self . _trigger ( "beforeopen" ) ;
363363
364364 if ( self . _page ( ) . jqmData ( "panel" ) === "open" ) {
365- self . document . on ( "panelclose" , function ( ) {
366- _openPanel ( ) ;
365+ self . _on ( self . document , {
366+ "panelclose" : _openPanel
367367 } ) ;
368368 } else {
369369 _openPanel ( ) ;
Original file line number Diff line number Diff line change @@ -100,6 +100,16 @@ <h1 id="demo-links">Panels</h1>
100100 < a href ="#panel-test-id-change "> Open Panel</ a >
101101 < a href ="#panel-test-external "> Open Panel</ a >
102102 </ div >
103+
104+ < div data-nstest-role ="panel " id ="panel-panelclose-event ">
105+ < h1 > Panel!</ h1 >
106+ </ div >
107+ < div data-nstest-role ="panel " id ="panel-openfirst " data-position ="left ">
108+ < h1 > first panel</ h1 >
109+ </ div >
110+ < div data-nstest-role ="panel " id ="panel-opensecond " data-position ="right ">
111+ < h1 > second panel</ h1 >
112+ </ div >
103113 </ div >
104114 < div data-nstest-role ="page " id ="page2 "> </ div >
105115 < div id ="external-panel-getWrapper-test "> </ div >
Original file line number Diff line number Diff line change 197197 $panel . panel ( ) ;
198198 } ) ;
199199
200+ asyncTest ( "panelclose not called on document" , function ( ) {
201+ expect ( 2 ) ;
202+
203+ $ ( document ) . on ( "panelopen" , "#panel-panelclose-event" , function ( ) {
204+ $ ( this ) . panel ( "close" ) ;
205+ } ) ;
206+
207+ $ ( document ) . on ( "panelclose" , "#panel-panelclose-event" , function ( ) {
208+ ok ( true , "document panelclose event emitted" ) ;
209+ } ) ;
210+
211+ $ ( document . body ) . on ( "panelclose" , "#panel-panelclose-event" , function ( ) {
212+ ok ( true , "document.body panelclose event emitted" ) ;
213+ start ( ) ;
214+ } ) ;
215+
216+ $ ( "#panel-panelclose-event" ) . panel ( "open" ) ;
217+
218+ } ) ;
219+
220+ asyncTest ( "should be able to open a second panel" , function ( ) {
221+ expect ( 1 ) ;
222+
223+ $ ( document ) . on ( "panelopen" , "#panel-opensecond" , function ( ) {
224+ ok ( true , "second panel opened" ) ;
225+ start ( ) ;
226+ } ) ;
227+
228+ $ ( "#panel-openfirst" ) . panel ( "open" ) ;
229+ $ ( "#panel-opensecond" ) . panel ( "open" ) ;
230+ } ) ;
231+
200232 module ( "dismissable panel" , {
201233 setup : function ( ) {
202234 $ . Event . prototype . originalEvent = {
You can’t perform that action at this time.
0 commit comments