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
最佳答案
您不需要使用 [0]
取消引用 getElementById
的结果 - 结果已经是单个元素。
[0]
仅在 jQuery 中是必需的,因为即使只有一个匹配元素,jQuery 结果也始终是伪数组。
鉴于页面上的每次点击都会调用此函数,请考虑将 filter
的定义移到函数之外,这样您就不必为每次点击重新评估它(假设该元素是静态的)。
关于javascript - 单击其他元素时模糊(取消焦点)元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24300118/