我正致力于获取自动填充库,以便在搜索字段中显示用户类型的建议。
然而,它并没有按计划运作。当.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()时也是如此。但我希望自动建议能够以用户类型开始工作。
答案 0 :(得分:1)
这有效:
$("#nav-search-button").click(function(e) {
e.preventDefault();
$("#nav-main-contents").hide();
$("#nav-search").show(1000, function(){
$("#channel-search-input").trigger('click').focus();
});
});
答案 1 :(得分:0)
尝试使用以下代码而不是$(“#channel-search-input”)。focus();
$( "#channel-search-input" ).keydown(function() {
alert( "key down !!!" );
答案 2 :(得分:0)
在焦点后使用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();
});
答案 3 :(得分:0)
使用INPUT尝试onkeyup事件。在onkeyup事件函数中添加自动提示的代码。您可能需要检查(来自我的旧代码),如
function onkeyupfn(e) {
var key = window.event ? e.keyCode : e.which;
if (key == 40 || key == 38) {
scrolldiv(key);
}
else {
autosuggestion();
}
}