在jQuery中,focusin / focusout与focus / blur有什么区别?

时间:2012-05-14 13:13:33

标签: javascript jquery

我使用以下代码jQuery 1.7.2处理了一些事件:

$().on('focus blur', function(event) {
  console.log(event.type);
});

我注意到两个事件的event.type,打印出来:focusinfocusout

focusin/focusoutfocus/blur之间有什么区别?

3 个答案:

答案 0 :(得分:21)

简短回答:focusin气泡,focus没有。
focusout气泡,blur没有。
阅读docs

  

当focusin事件或其中的任何元素获得焦点时,focusin事件将被发送到该元素。这与焦点事件的区别在于它支持检测父元素上的焦点事件(换句话说,它支持事件冒泡)。

答案 1 :(得分:3)

来自docs

  

当focusin事件或其中的任何元素发送到该元素时,它将被发送到该元素   它,获得焦点。这与焦点事件不同   支持检测父元素上的焦点事件(换句话说,   它支持事件冒泡)

是的,你也可以在这里找到相同的答案:Difference between the javascript/jQuery events "focus" and "focusin"?

答案 2 :(得分:2)

当focusin事件或其中的任何元素获得焦点时,focusin事件将被发送到该元素。这与焦点事件的区别在于它支持检测父元素上的焦点事件(换句话说,它支持事件冒泡)。

Source