我有以下 JavaScript,它似乎声明了一个简单的本地函数 hasText
,然后稍后调用该函数。
function hasText(addrElem) {
if (addrElem.value === "") {
return false;
}
else {
return true;
}
}
var addr = [
document.getElementById('AccountRequest_AddressLine1'),
document.getElementById('AccountRequest_City'),
document.getElementById('AccountRequest_Country'),
document.getElementById('AccountRequest_State'),
document.getElementById('AccountRequest_PostCode')
];
// Add a listener to each Address item which waits for its text box to go out of focus
addr.forEach(function (addrElem) {
addrElem.onblur = function () {
// Check whether or not each of the Address text boxes have text in them
if (addr.every(this.hasText(addrElem))) {
alert("Every text box has text!");
}
};
});
但是,当我在 Chrome 中运行此代码时,出现以下错误:
TypeError: hasText(...) is not a function
有人可以向我解释一下为什么我在调用 hasText
作为函数时遇到问题,并演示如何解决这个问题吗?
谢谢!
最佳答案
hasText
是一个全局函数,你必须这样调用它:
if (addr.every(hasText)) {
...
}
干杯。
关于JavaScript 错误 "hasText(...) is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49582610/