$(function() {
$(window).scroll(doSomething);
$(window).resize(doSomething);
});
function doSomething()
{
var autocomplete = $(".ui-autocomplete:visible");
// How can I get input DOM element of currently shown autocomplete there?
}
如果我不在自动完成声明的范围内,如何获取当前显示的自动完成的输入DOM元素?
答案 0 :(得分:0)
我的解决方案:
var currentAutocompleteTextbox = null; //global variable
$(textbox).focus(function () { currentAutocompleteTextbox = textbox; });
$(textbox).autocomplete({ ... });
有人可以提出更好的方法吗?
答案 1 :(得分:0)
你的目标不明确。
如果你想要的是获得最后一个交互式自动填充文本框,最好的办法是使用其中一个自动完成插件事件。下面是使用焦点事件的示例代码。回调函数将以相应的输入文本框作为上下文执行;因此this
会指向 文本框。
$(".language").autocomplete({
source: availableTags,
focus: function(evt, ui){
var txtbx = $(this).parent().prev().text();
$('#result').html(txtbx + ' textbox last focused');
}
});