jQuery core style guide conformance: jquery.mobile.buttonMarkup.js

This commit is contained in:
Rick Waldron 2011-06-28 18:30:17 -04:00
parent a9020282b5
commit 5b02da2c09

View file

@ -9,12 +9,12 @@
$.fn.buttonMarkup = function( options ) {
return this.each( function() {
var el = $( this ),
o = $.extend( {}, $.fn.buttonMarkup.defaults, el.jqmData(), options ),
o = $.extend( {}, $.fn.buttonMarkup.defaults, el.jqmData(), options ),
// Classes Defined
buttonClass,
innerClass = "ui-btn-inner",
iconClass;
buttonClass, iconClass,
themedParent, wrap;
if ( attachEvents ) {
attachEvents();
@ -22,7 +22,7 @@ $.fn.buttonMarkup = function( options ) {
// if not, try to find closest theme container
if ( !o.theme ) {
var themedParent = el.closest( "[class*='ui-bar-'],[class*='ui-body-']" );
themedParent = el.closest( "[class*='ui-bar-'],[class*='ui-body-']" );
o.theme = themedParent.length ?
/ui-(bar|body)-([a-z])/.exec( themedParent.attr( "class" ) )[2] :
"c";
@ -62,11 +62,10 @@ $.fn.buttonMarkup = function( options ) {
buttonClass += " ui-shadow";
}
el
.attr( "data-" + $.mobile.ns + "theme", o.theme )
el.attr( "data-" + $.mobile.ns + "theme", o.theme )
.addClass( buttonClass );
var wrap = ( "<D class='" + innerClass + "'><D class='ui-btn-text'></D>" +
wrap = ( "<D class='" + innerClass + "'><D class='ui-btn-text'></D>" +
( o.icon ? "<span class='" + iconClass + "'></span>" : "" ) +
"</D>" ).replace( /D/g, o.wrapperEls );
@ -95,34 +94,42 @@ function closestEnabledButton( element ) {
var attachEvents = function() {
$( document ).bind( {
"vmousedown": function( event ) {
var btn = closestEnabledButton( event.target );
var btn = closestEnabledButton( event.target ),
$btn, theme;
if ( btn ) {
var $btn = $( btn ),
theme = $btn.attr( "data-" + $.mobile.ns + "theme" );
$btn = $( btn );
theme = $btn.attr( "data-" + $.mobile.ns + "theme" );
$btn.removeClass( "ui-btn-up-" + theme ).addClass( "ui-btn-down-" + theme );
}
},
"vmousecancel vmouseup": function( event ) {
var btn = closestEnabledButton( event.target );
var btn = closestEnabledButton( event.target ),
$btn, theme;
if ( btn ) {
var $btn = $( btn ),
theme = $btn.attr( "data-" + $.mobile.ns + "theme" );
$btn = $( btn );
theme = $btn.attr( "data-" + $.mobile.ns + "theme" );
$btn.removeClass( "ui-btn-down-" + theme ).addClass( "ui-btn-up-" + theme );
}
},
"vmouseover focus": function( event ) {
var btn = closestEnabledButton( event.target );
var btn = closestEnabledButton( event.target ),
$btn, theme;
if ( btn ) {
var $btn = $( btn ),
theme = $btn.attr( "data-" + $.mobile.ns + "theme" );
$btn = $( btn );
theme = $btn.attr( "data-" + $.mobile.ns + "theme" );
$btn.removeClass( "ui-btn-up-" + theme ).addClass( "ui-btn-hover-" + theme );
}
},
"vmouseout blur": function( event ) {
var btn = closestEnabledButton( event.target );
var btn = closestEnabledButton( event.target ),
$btn, theme;
if ( btn ) {
var $btn = $( btn ),
theme = $btn.attr( "data-" + $.mobile.ns + "theme" );
$btn = $( btn );
theme = $btn.attr( "data-" + $.mobile.ns + "theme" );
$btn.removeClass( "ui-btn-hover-" + theme ).addClass( "ui-btn-up-" + theme );
}
}