作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我正在使用 JW Player,除了我正在开发的一项功能之外,一切都运行良好。当我运行代码时,我收到控制台错误:未捕获类型错误:upTop.addEventListener不是函数n
代码如下:
var upTop = document.getElementsByClassName('playlist-item');
upTop.addEventListener('click', function() {
jwplayer.setup({autostart: true, floating: {dismissable: true}});
window.scrollTo(0, 0);
});
我这里缺少某种语法错误吗?
最佳答案
调用 getElementsByClassName 的工作方式与 getElementById 不同。多个元素可以具有相同的类名,因此返回的是一个数组。例如,如果您希望返回第一项,因为您知道该类只有一个元素,则
var upTop = document.getElementsByClassName('playlist-item')[0];
就足够了。否则,您可以循环遍历 upTop 中的所有项目并向所有项目添加事件监听器。纯 JS 中:
for (var i=0; i < upTop.length;i++) {
upTop[i].addEventListener('click', function() {
wplayer.setup({autostart: true, floating: {dismissable: true}});
window.scrollTo(0, 0);
});
}
关于javascript - 为什么我一直收到 .addEventListener is not a function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55482539/
我是一名优秀的程序员,十分优秀!