我使用以下代码jQuery 1.7.2处理了一些事件:
$().on('focus blur', function(event) {
console.log(event.type);
});
我注意到两个事件的event.type
,打印出来:focusin
和focusout
。
focusin/focusout
与focus/blur
之间有什么区别?
答案 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事件将被发送到该元素。这与焦点事件的区别在于它支持检测父元素上的焦点事件(换句话说,它支持事件冒泡)。