我在我的应用程序中遇到了一个奇怪的问题。当用户单击应用程序中的刷新按钮时,表单元素会被禁用但永远不会启用。这只有时会发生,并且仅在 Firefox 中发生。以下是用于禁用表单元素的 javascript 代码片段。
util.Document.setDisabledOnFormElements = function(disabled, baseElement) {
if (util.Browser.is(util.Browser.IE)) {
//disabled property is inherited in ie.
baseElement.disabled = disabled;
} else {
var dels = util.Document.DISABLEABLE_FORM_ELEMENTS;
var els;
for (var h = 0, hLength = dels.length; h < hLength; h++) {
//disabled property is not inherited, so have to set for disableable elements explicitly.
els = baseElement.getElementsByTagName(dels[h]);
for (var j = 0, jLength = els.length; j < jLength; j++) {
els[j].disabled = disabled;
els[j] = null;
}
els = null;
}
dels = null;
}
};
这个 setDisabledOnFormElements 函数由 for 循环调用,表单中的所有元素都作为参数给出。'disabled' 参数是一个布尔对象。它告诉是禁用元素还是启用元素。
在 IE 和 Chrome 中,这工作得很好。但是在 FF 表单元素中,单击刷新按钮后永远不会启用(这不是浏览器的刷新按钮)。有人知道这里的问题吗?