javascript - focusin/focusout 和 focus/blur 的区别,举例

标签 javascript jquery

谁能通过一个简单的例子告诉我blurfocusoutfocusfocusin 之间的区别?

最佳答案

focusinfocusout 事件冒泡,focusblur 事件不冒泡。这意味着您可以在表单字段的父元素上使用 focusinfocusout

演示:http://jsfiddle.net/pAp4E/

HTML:

<div class="parent">
    <input type="text" />
</div>

<div class="log"></div>

Javascript:

$('.parent')
    .focusin(function(){log('div focusin');})
    .focusout(function(){log('div focusout');})
    .focus(function(){log('div focus');})
    .blur(function(){log('div blur');});
$('input')
    .focusin(function(){log('input focusin');})
    .focusout(function(){log('input focusout');})
    .focus(function(){log('input focus');})
    .blur(function(){log('input blur');});

function log(str){
  $('.log').append($('<div/>').text(str));
}

当您运行它时,您会看到只有输入获取所有事件,父级仅获取 focusinfocusout 事件。

关于javascript - focusin/focusout 和 focus/blur 的区别,举例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7858979/

相关文章:

javascript - Windows Server 上的 Imacros SAVEAS 功能

javascript - JQuery如何获取表中动态创建的输入的值?

javascript - 固定容器内子 div 中的滚动条

java - 如何使用@ResponseBody从 Controller 获取字符串数组?

javascript - 设置按钮按下功能以触发带有 Id 的 Ajax 调用

javascript - 带有 setInterval 的当前类(this)的toggleClass

javascript - 用javascript去掉括号

jquery onclick 不适用于 append 标签

javascript - jQuery/JavaScript - 当鼠标悬停在另一个元素上时触发悬停在一个元素上

javascript - ajax调用未正确发送数据