我已经在一个元素上添加了一个
click
事件监听器,例如:document.querySelector('.class-name').addEventListener('click', function () {
});
该元素可能来自服务器端的生成或不生成。
因此,如果服务器生成了该元素,则一切正常,但如果没有生成,则会出现错误,如下所示:
无法读取null的addEventListener属性
我知道为什么会出现这种情况,但我想知道是否有更好的方法将事件监听器附加到不会生成此类错误的元素上?
var el = document.querySelector('.class-name'); if (el) { el.addEventListener(...); }
这段代码的意思是首先按照给定的CSS类名查询文档中第一个匹配的元素,然后检查该元素是否存在。如果存在,就向该元素添加事件监听器。 - dfsq