Javascript 未捕获引用错误:未定义Activetab
我有这个剧本:Javascript 未捕获引用错误:未定义Activetab,javascript,Javascript,我有这个剧本: (function Activetab () { var tabs = document.getElementsByClassName('tab'); for (i = 0; i < tabs.length; i++) { tabs[i].addEventListener('click', function (e) { removeActive(); e.target.classList.ad
(function Activetab () {
var tabs = document.getElementsByClassName('tab');
for (i = 0; i < tabs.length; i++) {
tabs[i].addEventListener('click', function (e) {
removeActive();
e.target.classList.add('active');
})
}
})();
function removeActive() {
var tabs = document.getElementsByClassName('tab');
for (i = 0; i < tabs.length; i++) {
tabs[i].classList.remove('active')
}
}
window.onload = Activetab();
window.onload = removeActive();
(函数Activetab(){
var tabs=document.getElementsByClassName('tab');
对于(i=0;i
由于某种原因,当我尝试使用window.onload=Activetab()时代码>
返回
未捕获引用错误:未定义Activetab
怎么了?为什么window.onload函数无法侦听Activetab函数如果您正在立即调用函数Activetab
,则需要阅读有关(立即调用函数表达式)的更多信息。
我不知道您为什么要立即执行该函数,但这可能是您正在寻找的方法:
function Activetab () {
var tabs = document.getElementsByClassName('tab');
for (i = 0; i < tabs.length; i++) {
tabs[i].addEventListener('click', function (e) {
removeActive();
e.target.classList.add('active');
})
}
};
function removeActive() {
var tabs = document.getElementsByClassName('tab');
for (i = 0; i < tabs.length; i++) {
tabs[i].classList.remove('active')
}
}
window.onload = Activetab; // Just assign the function
window.onload = removeActive; // Just assign the function
函数Activetab(){
var tabs=document.getElementsByClassName('tab');
对于(i=0;i
你有两个选择,不要让它成为一种生活
function Activetab () {
var tabs = document.getElementsByClassName('tab');
for (i = 0; i < tabs.length; i++) {
tabs[i].addEventListener('click', function (e) {
removeActive();
e.target.classList.add('active');
})
}
}
函数Activetab(){
var tabs=document.getElementsByClassName('tab');
对于(i=0;i
或者将其作为一个生命并删除window.onload=Activetab()代码>
生命会被立即调用,所以不需要调用它
生命也可以是匿名的 只需删除包装函数Activatetab的()()