javascript - 未捕获的类型错误 : Cannot read property 'target' of undefined

标签 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);
}

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

为什么?

最佳答案

替换这一行

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

allTabs[i].onclick = clickTabHandler;

因为 thisevent 将隐式传递给它

关于javascript - 未捕获的类型错误 : Cannot read property 'target' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35915620/

相关文章:

javascript - 如何将多个参数传递给输入的 onChange 处理程序

javascript - 高速全屏 JS 面部检测

javascript - 创建 CSS 网格

javascript - 在javascript中递归压缩数组对象

javascript - 高阶组件无法访问包装组件的默认属性

javascript - lastElementChild 返回 null

javascript - Coffeescript 循环谷歌位置自动完成

javascript - 数组更新后 Ng-Repeat 不更新

javascript - 使用 JavaScript 访问跨域 iframe 元素

javascript - ACE 编辑器的 UndoManager 的奇怪行为