我想在事件处理程序onchange
了解哪个控件导致了更改(或模糊(事件。我试图使用jQuery $(":focus")
来实现这个目标,但是
$('.some_class').change(function (e) {
console.log(e.target);
console.log($(':focus').get(0)); // always `undefined`.
/* ......... other code......... */
});
$('.some_class').change(function (e) {
console.log(e.target);
console.log($(':focus').); // just remove the .get(0)
}(;删除 .get(0(,您可以获得焦点上的元素
在 jQuery 中,this
引用具有事件处理程序的元素,并且event.target
,如果 event
是事件处理程序的参数,则回调将是事件的源,例如,如果您单击了一个子元素并且单击冒泡。
模糊事件之后触发,因此在短时间内没有元素具有焦点。 如果你真的需要这个,你可以设置一个短的超时,看看另一个input
在原始变得模糊后几毫秒内是否有焦点。