我正在尝试创建一个函数来检测用户何时在元素外部单击。目前我正在使用以下代码片段:
var specifiedElement = document.getElementById('js-search-suggest-wrapper');
document.addEventListener('click', function(event) {
var isClickInside = specifiedElement.contains(event.target);
if (!isClickInside) {
console.log('do something!');
}
});
}
但是我似乎收到以下错误:未捕获类型错误:无法读取 null 的属性“包含”
我的代码有问题吗,或者可能是我的 HTML 设置方式有问题?
最佳答案
由于specifiedElement
为null,它返回错误,请在html中添加一个id为js-search-suggest-wrapper
的元素
var specifiedElement = document.getElementById('js-search-suggest-wrapper');
document.addEventListener('click', function(event) {
var isClickInside = specifiedElement.contains(event.target);
if (!isClickInside) {
console.log('do something!');
}
});
<a id="js-search-suggest-wrapper">javascript</a>
关于javascript - 点击元素外部返回 JS 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47773887/