我有我的输入字段的自动建议菜单,因为有多个字段我需要选择在点击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');
}
}
答案 0 :(得分:1)
是的,但是你需要在点击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()
或类似的东西来避免全局变量,那就更好了,只是为了演示它是如何完成的。