Skip to content
Permalink
Browse files

Datepicker: Don't use .zIndex(); implement the logic locally.

  • Loading branch information
scottgonzalez committed Mar 15, 2013
1 parent 43442c3 commit ae9651931f3d0704b33322a7d6f4750c1d83ccf7
Showing with 23 additions and 1 deletion.
  1. +23 −1 ui/jquery.ui.datepicker.js
@@ -19,6 +19,28 @@ var PROP_NAME = "datepicker",
dpuuid = new Date().getTime(),
instActive;

function getZindex( elem ) {
var position, value;
while ( elem.length && elem[ 0 ] !== document ) {
// Ignore z-index if position is set to a value where z-index is ignored by the browser
// This makes behavior of this function consistent across browsers
// WebKit always returns auto if the element is positioned
position = elem.css( "position" );
if ( position === "absolute" || position === "relative" || position === "fixed" ) {
// IE returns 0 when zIndex is not specified
// other browsers return a string
// we ignore the case of nested elements with an explicit value of 0
// <div style="z-index: -10;"><div style="z-index: 0;"></div></div>
value = parseInt( elem.css( "zIndex" ), 10 );
if ( !isNaN( value ) && value !== 0 ) {
return value;
}
}
elem = elem.parent();
}

return 0;
}
/* Date picker manager.
Use the singleton instance of this class, $.datepicker, to interact with the date picker.
Settings for (groups of) date pickers are maintained in an instance object,
@@ -744,7 +766,7 @@ $.extend(Datepicker.prototype, {
if (!inst.inline) {
showAnim = $.datepicker._get(inst, "showAnim");
duration = $.datepicker._get(inst, "duration");
inst.dpDiv.zIndex($(input).zIndex()+1);
inst.dpDiv.css( "z-index", getZindex( $( input ) ) + 1 );
$.datepicker._datepickerShowing = true;

if ( $.effects && $.effects.effect[ showAnim ] ) {

0 comments on commit ae96519

Please sign in to comment.
You can’t perform that action at this time.