mirror of
https://github.com/Hopiu/jquery-mobile.git
synced 2026-03-17 06:20:26 +00:00
if the close icon in a full-page select is clicked on, fire the selectmenu close handler instead of the dialog close handler
This commit is contained in:
parent
171065a5e1
commit
edfafe0c01
1 changed files with 13 additions and 7 deletions
|
|
@ -74,7 +74,9 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
|
|||
.appendTo( $.mobile.pageContainer )
|
||||
.page(),
|
||||
|
||||
menuPageContent = menuPage.find( ".ui-content" ),
|
||||
menuPageContent = menuPage.find( ".ui-content" ),
|
||||
|
||||
menuPageClose = menuPage.find( ".ui-header a" ),
|
||||
|
||||
screen = $( "<div>", {"class": "ui-selectmenu-screen ui-screen-hidden"})
|
||||
.appendTo( thisPage ),
|
||||
|
|
@ -196,9 +198,15 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
|
|||
});
|
||||
|
||||
//events on "screen" overlay + close button
|
||||
screen.add( headerClose ).click(function(event){
|
||||
screen.add( headerClose ).add( menuPageClose ).click(function(event){
|
||||
self.close();
|
||||
event.preventDefault();
|
||||
|
||||
// if the dialog's close icon was clicked, prevent the dialog's close
|
||||
// handler from firing. selectmenu's should take precedence
|
||||
if( $.contains(menuPageClose[0], event.target) ){
|
||||
event.stopImmediatePropagation();
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
|
@ -393,6 +401,7 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
|
|||
function focusButton(){
|
||||
setTimeout(function(){
|
||||
self.button.focus();
|
||||
|
||||
//remove active class from button
|
||||
self.button.removeClass( $.mobile.activeBtnClass );
|
||||
}, 40);
|
||||
|
|
@ -400,12 +409,9 @@ $.widget( "mobile.selectmenu", $.mobile.widget, {
|
|||
self.listbox.removeAttr('style').append( self.list );
|
||||
}
|
||||
|
||||
if(self.menuType == "page"){
|
||||
if(self.menuType == "page"){
|
||||
$.mobile.changePage([self.menuPage,self.thisPage], 'pop', true, false);
|
||||
self.menuPage.one("pagehide",function(){
|
||||
focusButton();
|
||||
//return false;
|
||||
});
|
||||
self.menuPage.one("pagehide", focusButton);
|
||||
}
|
||||
else{
|
||||
self.screen.addClass( "ui-screen-hidden" );
|
||||
|
|
|
|||
Loading…
Reference in a new issue