admin管理员组文章数量:1410688
I want to create tabs on pure js and decided to implement it through "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);
}
in the console get : Uncaught TypeError: Cannot read property 'target' of undefined;
Why?
I want to create tabs on pure js and decided to implement it through "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);
}
in the console get : Uncaught TypeError: Cannot read property 'target' of undefined;
Why?
Share Improve this question asked Mar 10, 2016 at 11:47 Nikita IvanovNikita Ivanov 311 gold badge1 silver badge4 bronze badges 1-
2
where is that loop called? you are immediately invoking
clickTabHandler
– Daniel A. White Commented Mar 10, 2016 at 11:48
1 Answer
Reset to default 3replace this line
allTabs[i].onclick = clickTabHandler(event);
by
allTabs[i].onclick = clickTabHandler;
since this
and event
will be passed to it implicity
本文标签: javascriptUncaught TypeError Cannot read property 39target39 of undefinedStack Overflow
版权声明:本文标题:javascript - Uncaught TypeError: Cannot read property 'target' of undefined - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744797439a2625661.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论