javascript - 单击其他元素时模糊(取消焦点)元素

标签 javascript blur

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/

相关文章:

javascript - 使用 es6 和 React 未定义函数

javascript - 使用类型信息扩展对象原型(prototype)

javascript - jQuery Blur() 在 Chrome 上不起作用

image - 如何在Matlab中对图像的某个特定方向进行模糊处理?

jquery - SVG 高斯模糊在 Firefox 中不起作用

javascript - 正则表达式 - 选择第一个空白字符之前的所有字符,假设它同时包含字符和数字

javascript - 托管在 heroku 上的 Rails 应用程序说未安装 Google Analytics

javascript - Select2 和 jScrollPane

c++ - GLSL 径向模糊的奇怪问题

image-processing - 高斯模糊和 FFT