focusout()
将一个事件函数绑定到"focusout"事件。
.focusout(handler)
- handler类型: Function(Event eventObject)每次事件触发时会执行的函数。
.focusout([eventData ], handler)
- eventData类型: Anything。一个对象,它包含的数据键值对映射将被传递给事件处理程序。
- handler类型: Function(Event eventObject)每次事件触发时会执行的函数。
.focusout()
- 这个方法不接受任何参数。
当传递参数时,这个方法是.on('focusout', handler)
的快捷方式,当不传递参数的时候,是.trigger('focusout')
的快捷方式。
focusout
事件会在元素(或者其内部的任何元素)失去焦点时触发。这跟 blur 事件的显著区别在于,它可以在父元素上检测子元素失去焦点的情况(换而言之,它支持事件冒泡)。
这个事件通常会跟 focusin 事件一起使用。
Additional Notes(其他注意事项):
.focusout()
方法只是作为.on("focusout", handler)
的一个速记写法,移除该事件可以使用.off("focusout")
。
例子
监视段落内部失去焦点的情况。请注意 focusout 计数和 blur 计数的差异。
<!DOCTYPE html> <html> <head> <style> .inputs { float: left; margin-right: 1em; } .inputs p { margin-top: 0; } </style> <script src="https://www.lanmper.cn/static/js/jquery-3.5.0.js"></script> </head> <body> <div class="inputs"> <p> <input type="text" /><br /> <input type="text" /> </p> <p> <input type="password" /> </p> </div> <div id="fo">focusout fire</div> <div id="b">blur fire</div> <script>var fo = 0, b = 0; $("p").focusout(function () { fo++; $("#fo") .text("focusout fired: " + fo + "x"); }).blur(function () { b++; $("#b") .text("blur fired: " + b + "x"); }); </script> </body> </html>
focusout fire
blur fire