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