Author: thrantal
Date: Tue Jun 24 21:04:09 2008
New Revision: 671412
URL: http://svn.apache.org/viewvc?rev=671412&view=rev
Log:
WICKET-1713: Fixed IE6 tabIndex handling with custom DOM object property
instead of the array
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js?rev=671412&r1=671411&r2=671412&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
Tue Jun 24 21:04:09 2008
@@ -1421,19 +1421,18 @@
this.tabbableTags = new
Array("A","BUTTON","TEXTAREA","INPUT","IFRAME", "SELECT");
if (Wicket.Browser.isIE()) {
var win = Wicket.Window.current;
- var i = 0;
- this.tabIndexes = new Array();
+ this.tabsAreDisabled = 'true';
for (var j = 0; j < this.tabbableTags.length; j++) {
var tagElements =
this.document.getElementsByTagName(this.tabbableTags[j]);
for (var k = 0 ; k < tagElements.length; k++) {
// if this is not an iframe window and
the element is child of window content,
// don't disable tab on it
- if (win.isIframe() == true ||
this.isParent(tagElements[k], win.content) == false) {
- this.tabIndexes[i] =
tagElements[k].tabIndex;
- tagElements[k].tabIndex="-1";
+ if (win.isIframe() == true ||
this.isParent(tagElements[k], win.content) == false) {
+ var element = tagElements[k];
+ element.hiddenTabIndex =
element.tabIndex;
+ element.tabIndex="-1";
}
- i++;
}
}
}
@@ -1443,17 +1442,17 @@
* Restore tab indexes if they were disabled.
*/
restoreTabs: function() {
- if (typeof(this.tabIndexes) != 'undefined') {
- var i = 0;
+ if (typeof(this.tabsAreDisabled) != 'undefined') {
for (var j = 0; j < this.tabbableTags.length; j++) {
var tagElements =
this.document.getElementsByTagName(this.tabbableTags[j]);
for (var k = 0 ; k < tagElements.length; k++) {
- tagElements[k].tabIndex =
this.tabIndexes[i];
- tagElements[k].tabEnabled = true;
- i++;
+ var element = tagElements[k];
+ element.tabIndex =
element.hiddenTabIndex;
+ element.hiddenTabIndex = null;
+ element.tabEnabled = true;
}
}
- this.tabIndexes = null;
+ this.tabsAreDisabled = null;
}
}