addEvent类型不匹配IE8
addEvent type mismatch IE8
我在 IE8 中收到类型:不匹配错误,代码如下。
function showTabs() {
for (var i = 0; i < tabs.length; i++) {
tabs[i].style.display = "inline-block";
if (tabs[i]) {
console.log(tabs[i] + " " + i);
}
}
}
function showThumbBoxes() {
for (var i = 0; i < thumbsContainers.length; i++) {
thumbsContainers[i].style.display = "block";
if (thumbsContainers[i]) {
console.log(thumbsContainers[i] + " " + i);
}
}
}
function loadImages() {
for (var i = 0; i < lazyImages.length; i++) {
if (lazyImages[i].getAttribute("data-src")) {
lazyImages[i].src = lazyImages[i].getAttribute("data-src");
if (lazyImages[i]) {
console.log(lazyImages[i] + " " + i);
}
}
}
}
function hideContainers() {
for (var i = 0; i < hiddenContainers.length; i++) {
hiddenContainers[i].style.display = "none";
if (hiddenContainers[i]) {
console.log(hiddenContainers[i] + " " + i);
}
}
}
function setUpPage() {
showTabs();
showThumbBoxes();
loadImages();
hideContainers();
}
if (window.addEventListener) {
window.addEventListener("load", setUpPage())
} else {
window.attachEvent("load", setUpPage()); <<< Here seems to be causing issues.
}
我已经逐步完成了代码,它正确地完成了所有内容,并且所有内容都加载到了页面上。在我单步执行 setUpPage 函数的最后一个花括号后,它又回到了 attachEvent("load", setUpPage());
当我再次单击单步执行时,出现不匹配错误。不确定发生了什么,但由于错误,我的脚本的其余部分将不会加载。
有人有想法吗?
对于 attachEvent
,您需要添加事件的 + 名称,因此事件将被称为 onload
更新
另外两个事件监听器的第二个参数都是回调,所以当事件被触发时它们就会被执行。
为了能够实现这一点,您需要删除函数调用的括号。
我在 IE8 中收到类型:不匹配错误,代码如下。
function showTabs() {
for (var i = 0; i < tabs.length; i++) {
tabs[i].style.display = "inline-block";
if (tabs[i]) {
console.log(tabs[i] + " " + i);
}
}
}
function showThumbBoxes() {
for (var i = 0; i < thumbsContainers.length; i++) {
thumbsContainers[i].style.display = "block";
if (thumbsContainers[i]) {
console.log(thumbsContainers[i] + " " + i);
}
}
}
function loadImages() {
for (var i = 0; i < lazyImages.length; i++) {
if (lazyImages[i].getAttribute("data-src")) {
lazyImages[i].src = lazyImages[i].getAttribute("data-src");
if (lazyImages[i]) {
console.log(lazyImages[i] + " " + i);
}
}
}
}
function hideContainers() {
for (var i = 0; i < hiddenContainers.length; i++) {
hiddenContainers[i].style.display = "none";
if (hiddenContainers[i]) {
console.log(hiddenContainers[i] + " " + i);
}
}
}
function setUpPage() {
showTabs();
showThumbBoxes();
loadImages();
hideContainers();
}
if (window.addEventListener) {
window.addEventListener("load", setUpPage())
} else {
window.attachEvent("load", setUpPage()); <<< Here seems to be causing issues.
}
我已经逐步完成了代码,它正确地完成了所有内容,并且所有内容都加载到了页面上。在我单步执行 setUpPage 函数的最后一个花括号后,它又回到了 attachEvent("load", setUpPage());
当我再次单击单步执行时,出现不匹配错误。不确定发生了什么,但由于错误,我的脚本的其余部分将不会加载。
有人有想法吗?
对于 attachEvent
,您需要添加事件的 + 名称,因此事件将被称为 onload
更新
另外两个事件监听器的第二个参数都是回调,所以当事件被触发时它们就会被执行。 为了能够实现这一点,您需要删除函数调用的括号。