javascript - 点击元素外部返回 JS 错误

标签 javascript html

我正在尝试创建一个函数来检测用户何时在元素外部单击。目前我正在使用以下代码片段:

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/

相关文章:

javascript - 如何使用 javascript 构建动画?

javascript - 检测重叠元素中的悬停,同时允许所有指针操作

javascript - D3.js多维数组

javascript - 如果类不存在,则将 div 动态附加到 li

javascript - CSS 网格调整网格内按钮的大小

javascript - Meteor 应用程序由于大(ish?)流量而失去与 MongoDB 的连接

javascript - 将类添加到 html 中的脚本行

javascript - `route.transitionTo` 是否已弃用?

javascript - 解构作业

javascript - Firefox 有时无法在 Canvas 中加载图像