Javascript 下一个元素上的自动对焦(自动对焦)不适用于动态创建的字段

Javascript 下一个元素上的自动对焦(自动对焦)不适用于动态创建的字段,javascript,jquery,ajax,autocomplete,autofocus,Javascript,Jquery,Ajax,Autocomplete,Autofocus,上面是我的自动完成代码,自动对焦(autofocus)是动态创建元素的下一个字段。自动对焦(autofocus)对于普通html工作正常,但它不仅仅适用于动态创建的元素。您是否试图在动态添加的选项卡上focus()?如果是这样,您可能很快就会触发focus(),而DOM元素可能不在那里 尝试将焦点函数包装到setTimeout()函数中进行测试 $("#destination1" + countVar).autocomplete({ minLength : 3,

上面是我的自动完成代码,自动对焦(autofocus)是动态创建元素的下一个字段。自动对焦(autofocus)对于普通html工作正常,但它不仅仅适用于动态创建的元素。

您是否试图在动态添加的选项卡上
focus()
?如果是这样,您可能很快就会触发
focus()
,而DOM元素可能不在那里

尝试将焦点函数包装到
setTimeout()
函数中进行测试

$("#destination1" + countVar).autocomplete({

        minLength : 3,
        source : function(request, response) {
            var url = configOptions.icaocodeUrl;
            var term = request.term;
            url=url+term;
            console.log(url);
            $.ajax({
                url : url,
                type : "GET",
                data : request,
                dataType : "json",
                success : function(data) {
                    response(data.slice(0, 10));
                    //alert(data);
                },error: function(xhr, textStatus) {
                    alert('error'); 
                }
            });
        },
        change:function(event,ui){
            console.log("fired in dest2");
        },close:function(event,ui){
            console.log("close in dest2"+'#dof1'+countVar);
            console.log(countVar);
            $(this).parents('form').find('#dof1'+countVar)
              .filter(function () { return $(this).val() === ''; })
              .first().focus();             

            }
    });

焦点未切换到下一个字段,请使用其他解决方案
setTimeout(function () {
    $(this).parents('form').find('#dof1'+countVar)
          .filter(function () { return $(this).val() === ''; })
          .first().focus();   
}, 2000); // 2 seconds