По какой-то причине я получаю эту ошибку в IE8 и IE7.Я перебираю все ключи в моем объекте, и он постоянно говорит мне Object doesn't support this property or method
об этом:
var inVal = $(inType + "#" + inName).val().trim();
Весь блок ниже:
for (var key in inputs) { // find all keys "brand", "name", etc. in our inputs object
var errors = false;
if (inputs.hasOwnProperty(key)) { // focus on our obj. not all others on page
var inType = inputs[key].inputType;
var inName = inputs[key].inputName;
var inVal = $(inType + "#" + inName).val().trim(); // construct input field
if (inVal == '' || inVal == null) {
errors = true;
$('#' + inName + '-error').html('');
$('#' + inName + '-error').hide().fadeIn().html(inputs[key].errorMsg);
$(inType + '#' + inName).focus();
$('#modal-loadable-inner').scrollTop(inputs[key].scrollTop);
return;
} else { // user corrected error
errors = false;
$('#' + inName + '-error').html(''); // remove error txt
}
}
}
Кто-то опубликовал это наJslint доски Дуга Крокфорда, и он ответил:
for (ключ объекта) {if (Object.prototype.hasOwnProperty.call (object, key)) {...}}
hasOwnProperty должен был быть оператором, а не методом, потому что, будучи методом, он подвержен подобным проблемам.Но это то, что есть, поэтому вы должны обойти это.
Работает нормально в Chrome, FF, Safari, Opera и т. Д. Как обычно.Есть идеи об обходном пути?