[英]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.