开发者问题收集

未捕获的类型错误:无法读取未定义的属性“目标”

2016-03-10
11512

我想在纯 js 上创建标签,并决定通过“data-attr”实现。

var allTabs = document.querySelectorAll('.tab'); //all tabs on page

var clickTabHandler = function (event) {

    var target = event.target;

    var id = target.getAttribute('data-content');

    alert(id);

};

for (var i = 0; i < allTabs.length; i++) {
    allTabs[i].onclick = clickTabHandler(event);
}

在控制台中得到:Uncaught TypeError: Cannot read property 'target' of undefined;

为什么?

1个回答

allTabs[i].onclick = clickTabHandler;
替换此行
allTabs[i].onclick = clickTabHandler(event);

因为 thisevent 将被隐式传递给它

gurvinder372
2016-03-10