document.addEventListener("click", function (e) {
var filter = document.getElementById('filter');
if (e.target !== filter[0]) {
filter.blur();
}
});
我的尝试^^
jQuery代码:$(document).on('click', function(e) {
if (e.target !== $('#filter')[0])
$('#filter').blur();
});
当点击除#filter以外的任何元素时,我想模糊(取消聚焦)#filter
您不需要将getElementById
的结果与[0]
解引用-结果已经是单个元素。
[0]
仅在jQuery中是必要的,因为jQuery的结果总是伪数组,即使只有一个匹配的元素。
如果在页面上的每次单击都调用该函数,请考虑将filter
的定义移到函数之外,这样您就不必在每次单击时重新计算它(假设元素是静态的)。