我有以下情况, 一个静态文本框和按钮,用于添加更多动态文本框。当用户输入关键字时,我显示建议[jquery autocomplete]。对于静态文本框,autocomplate函数位于document.ready中,而动态文本框位于“onkeypress”中。
在动态文本框中,自动提示工作正常,但问题在于焦点。重点不在于建议下拉。
我试过下面
function getLocationList(id)
{
// $('.autocomplete').css('background','none repeat scroll 0 0 #B9E5FB');
$('.autocomplete').autocomplete({ autoFocus: true });//not working
// Ajax Auto suggestion box.. stuff
var optionsLocation, b;
jQuery(function() {
optionsLocation = { serviceUrl: '/App_Handlers/xxx.ashx',
minChars: 2,
delimiter: /(,|;)\s*/,
deferRequestBy: 0, //miliseconds
noCache: false,
width: 300
};
b = $("#" +id).autocomplete(optionsLocation);
});
}
也试过以下但没有工作
$('.autocomplete').focus();
$('.jobCenterArea').blur();
任何建议
答案 0 :(得分:0)
使用$ .live(),如
$('.autocomplete').live('focus', function(){
// callback code here
});
答案 1 :(得分:0)
以下是有关委派活动的半相关问题:Direct vs. Delegated - jQuery .on()
现在不推荐考虑live
,我建议使用on
:
$(document).on('focus', '.autocomplete', function(e) {
//insert your code here for the event
});
请注意,在这种情况下,document
不是唯一可以绑定的内容。
答案 2 :(得分:0)
通过在将动态文本框添加到html文档
后立即提供以下代码来解决此问题$('.autocomplete').autocomplete({ autoFocus: true });//not working
// Ajax Auto suggestion box.. stuff
var optionsLocation, b;
jQuery(function() {
optionsLocation = { serviceUrl: '/App_Handlers/xxx.ashx',
minChars: 2,
delimiter: /(,|;)\s*/,
deferRequestBy: 0, //miliseconds
noCache: false,
width: 300
};
b = $("#" +id).autocomplete(optionsLocation);
});
感谢大家的i / p's