单击其他元素时模糊(不聚焦)元素

时间:2014-06-19 06:30:15

标签: 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

1 个答案:

答案 0 :(得分:2)

您无需使用getElementById取消引用[0]的结果 - 结果已经是单个元素。

[0]只在jQuery中是必需的,因为即使只有一个匹配元素,jQuery结果也总是伪数组。

鉴于在页面上每次单击都会调用此函数,请考虑在函数外部移动filter的定义,这样您就不必为每次单击重新评估它(假设元素是静态的。