[英]Jquery, having trouble with .focus()
我正在获取自动填充库,以在搜索字段中以用户类型显示建议。
但是,它没有按计划工作。 取消注释.js上的.focus()第6行时,它将聚焦到输入字段,但是仍然需要额外的单击才能使自动建议开始工作。
当您查看代码时,可以更好地描述它: https : //jsfiddle.net/pu7draz2/6/
$("#nav-search-button").click(function(e) {
e.preventDefault();
$("#nav-main-contents").hide();
$("#nav-search").show(1000);
//$("#channel-search-input").focus(); // <-- uncomment me
});
$('#channel-search-input').focusout(function() {
$("#nav-search").hide();
$("#nav-main-contents").fadeIn(800);
$("#channel-search-input").
使用注释的.focus()时,您将必须手动单击搜索框两次,这样自动建议才能起作用,并且启用.focus()时也是如此。 但是我希望自动建议在用户输入时开始起作用。
这有效:
$("#nav-search-button").click(function(e) {
e.preventDefault();
$("#nav-main-contents").hide();
$("#nav-search").show(1000, function(){
$("#channel-search-input").trigger('click').focus();
});
});
尝试使用以下代码代替$(“#channel-search-input”)。focus();
$( "#channel-search-input" ).keydown(function() {
alert( "key down !!!" );
通过使用$("#channel-search-input").click();
触发文本框的click
事件$("#channel-search-input").click();
聚焦后如下图所示。
$("#nav-search-button").click(function(e) {
e.preventDefault();
$("#nav-main-contents").hide();
$("#nav-search").show(1000);
$("#channel-search-input").focus();
$("#channel-search-input").click();
});
尝试使用INPUT进行onkeyup事件。 在onkeyup事件函数中添加自动建议代码。 您可能需要一些检查(根据我的旧代码),例如
function onkeyupfn(e) {
var key = window.event ? e.keyCode : e.which;
if (key == 40 || key == 38) {
scrolldiv(key);
}
else {
autosuggestion();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.