Javascript 在模糊之前选择先前聚焦的输入
我有一个带有输入字段的自动建议菜单,由于有多个字段,我需要选择在单击li并模糊输入之前处于焦点的字段,因此它知道要选择哪个输入。有没有办法在模糊之前聚焦最后一个输入字段?谢谢Javascript 在模糊之前选择先前聚焦的输入,javascript,jquery,Javascript,Jquery,我有一个带有输入字段的自动建议菜单,由于有多个字段,我需要选择在单击li并模糊输入之前处于焦点的字段,因此它知道要选择哪个输入。有没有办法在模糊之前聚焦最后一个输入字段?谢谢 function fill(thisValue) { if(thisValue === undefined){ $('#suggestions').fadeOut(); } else { $("input *//input in focus before blur//* .val(thisValue
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时存储最后一个聚焦的元素,或者更准确地说,在单击之前存储,并且
模糊
为时已晚
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');
}
}
这里有一个快速的例子来证明它是有效的
如果您可以通过使用
data()
或类似的方法来避免全局,那就更好了,只是为了演示它是如何完成的。是的,但是您需要在单击LI时存储最后一个聚焦的元素,或者在单击之前更准确地存储,而且模糊
为时已晚
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');
}
}
这里有一个快速的例子来证明它是有效的
如果您可以通过使用
data()
或类似的方法来避免全局变量,那就更好了,只是为了演示它是如何完成的。这太棒了。也很好,解释得很好。非常感谢:)不客气,在创建自定义自动建议列表时,您在这方面做了很多努力,这是我能找到的做这类事情的最佳方式。这太棒了。也很好,解释得很好。非常感谢:)不客气,在创建自定义自动建议列表时,您在这方面做了很多工作,这是我能找到的最好的方法。