未捕获的TypeError:无法读取未定义的属性“target”

时间:2016-03-10 11:47:07

标签: javascript

我想在纯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);
}
控制台中的

get:Uncaught TypeError:无法读取undefined的属性'target';

为什么?

1 个答案:

答案 0 :(得分:2)

替换此行

allTabs[i].onclick = clickTabHandler(event);

通过

allTabs[i].onclick = clickTabHandler;

因为thisevent将传递给它隐含的