javascript - 在模糊之前选择先前聚焦的输入

标签 javascript jquery

我有一个带有输入字段的自动建议菜单,由于有多个字段,我需要选择在单击 li 并模糊输入之前处于焦点的字段,因此它知道要选择哪个输入。有没有办法让最后一个输入字段在模糊之前聚焦?谢谢

function fill(thisValue) {
 if(thisValue === undefined){
   $('#suggestions').fadeOut();
    } else {
    $("input *//input in focus before blur//* .val(thisValue);
    setTimeout("$('#suggestions').fadeOut();", 600);
    $('.email').addClass('load');

     }
  }

最佳答案

是的,但是您需要在单击 LI 时存储最后一个聚焦的元素,或者更准确地说是在单击之前存储,而 blur 为时已晚。

var lastFocused = null;

$('li').on({
    mousedown: function() {
        lastFocused = document.activeElement; //saves focused element
    },
    click: function() {
        //do whatever you do on click
    }
});

function fill(thisValue) {
   if(thisValue == undefined && lastFocused) {
       $('#suggestions').fadeOut();
   } else {
       lastFocused.value = thisValue;
       setTimeout(function() {
          $('#suggestions').fadeOut();
       }, 600);
       $('.email').addClass('load');
  }
}

这是一个快速DEMONSTRATION证明它有效!

如果您可以通过使用 data() 或类似的东西来避免全局变量,那就更好了,这只是为了演示它是如何完成的。

关于javascript - 在模糊之前选择先前聚焦的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14917001/

相关文章:

javascript - 如何在每次页面重新加载时更改渐变背景,同时保持光标位置元素处于事件状态?

javascript - 如何使用 Vue js 显示 Cockpit CMS JSON 数据

javascript - 如何使用 cookie 或本地存储将类添加到子菜单的父级

javascript - 使用 Jquery .load() 仅指定回调无法正常工作

javascript - 在 Protractor 中点击轮播图像

javascript - typescript 的 Playground

c# - 如何通过iframe获取另一个页面的asp隐藏字段值

jquery - 附加到特定 div 的动态变量

jquery - 有没有可以在 Google Chrome 中使用 Jquery 的 Greasemonkey 脚本?

javascript - 如何将选择列表选项发布到 MVC 操作方法?