我想在纯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';
为什么?
答案 0 :(得分:2)
替换此行
allTabs[i].onclick = clickTabHandler(event);
通过
allTabs[i].onclick = clickTabHandler;
因为this
和event
将传递给它隐含的