http://www.mediawiki.org/wiki/Special:Code/MediaWiki/89878

Revision: 89878
Author:   krinkle
Date:     2011-06-11 10:56:54 +0000 (Sat, 11 Jun 2011)
Log Message:
-----------
Fix jquery.tabIndex even more.
* Discovered through TestSwarm. Aside from IE6/IE7, which already needed extra 
checking, when IE6/IE7 is on Windows NT 5.2, it can also return NaN.

Modified Paths:
--------------
    trunk/phase3/resources/jquery/jquery.tabIndex.js

Modified: trunk/phase3/resources/jquery/jquery.tabIndex.js
===================================================================
--- trunk/phase3/resources/jquery/jquery.tabIndex.js    2011-06-11 10:51:40 UTC 
(rev 89877)
+++ trunk/phase3/resources/jquery/jquery.tabIndex.js    2011-06-11 10:56:54 UTC 
(rev 89878)
@@ -9,12 +9,14 @@
  */
 $.fn.firstTabIndex = function() {
        var minTabIndex = null;
-       $(this).find( '[tabindex]' ).each( function( i ) {
+       $(this).find( '[tabindex]' ).each( function() {
                var tabIndex = parseInt( $(this).attr( 'tabindex' ), 10 );
                // In IE6/IE7 the above jQuery selector returns all elements,
                // becuase it has a default value for tabIndex in IE6/IE7 of 0
-               // (rather than null/undefined). Therefore check "> 0" as well
-               if ( tabIndex > 0 ) {
+               // (rather than null/undefined). Therefore check "> 0" as well.
+               // Under IE7 under Windows NT 5.2 is also capable of returning 
NaN.
+               if ( tabIndex > 0 && !isNaN( tabIndex ) ) {
+                       // Initial value
                        if ( minTabIndex === null ) {
                                minTabIndex = tabIndex;
                        } else if ( tabIndex < minTabIndex ) {
@@ -32,12 +34,15 @@
  */
 $.fn.lastTabIndex = function() {
        var maxTabIndex = null;
-       $(this).find( '[tabindex]' ).each( function( i ) {
+       $(this).find( '[tabindex]' ).each( function() {
                var tabIndex = parseInt( $(this).attr( 'tabindex' ), 10 );
-               if ( maxTabIndex === null ) {
-                       maxTabIndex = tabIndex;
-               } else if ( tabIndex > maxTabIndex ) {
-                       maxTabIndex = tabIndex;
+               if ( tabIndex > 0 && !isNaN( tabIndex ) ) {
+                       // Initial value
+                       if ( maxTabIndex === null ) {
+                               maxTabIndex = tabIndex;
+                       } else if ( tabIndex > maxTabIndex ) {
+                               maxTabIndex = tabIndex;
+                       }
                }
        } );
        return maxTabIndex;


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to