为了让我在 ie8 中选择文件,我必须将 isInput 函数的第二个语句设为 if 而不是 else if。
qq.isInput = function(maybeInput) {
if (window.HTMLInputElement) {
if (Object.prototype.toString.call(maybeInput) === '[object HTMLInputElement]') {
if (maybeInput.type && maybeInput.type.toLowerCase() === 'file') {
return true;
}
}
}
//else if (maybeInput.tagName) {
if (maybeInput.tagName) {
if (maybeInput.tagName.toLowerCase() === 'input') {
if (maybeInput.type && maybeInput.type.toLowerCase() === 'file') {
return true;
}
}
}
return false;
};
这种改变有意义吗?还是会破坏其他东西?
当我在 ie8 中调试 javascript 时,该函数通过了“window.HTMLInputElement”检查,但未能通过“Object.prototype.toString.call(maybeInput) === '[object HTMLInputElement]'”检查。
IE8 WIN XP SP3