jQuery:.focus()上的递归过多

时间:2012-12-18 09:45:58

标签: javascript jquery asp.net

我正在使用jQuery .focus()方法通过asp.net中的远程脚本关注元素。我收到太多递归的错误。

我做错了什么?

asp.net代码:

Response.Write("<script>$('#ledger_name').focus();</script>");

html

<input type="text" id="account_name" name="account_name" />

自动完成的js

$("#account_name").autocomplete({
    source: account_master,
    minLength: 1,
    minChars: 0,
    width: 350,
    mustMatch: 0,
    selectFirst: true,
    matchContains: false,
    autoFocus: true,
    autoFill: false,
    change: function (event, ui) {
        if (!ui.item) {
            $(this).val('');
        }
    },
    select: function (event, ui) {
        $("#account_name").val(ui.item.label);
        $("#account_name_code").val(ui.item.id);
        $("#account_name_parent").val(ui.item.parent);

        //$('#ledger_name').focus();
        return true;
    }

});

jquery ui

<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>

在自动填充中调用$('#ledger_name').focus();时,jquery-ui.min.js文件中出现错误

1 个答案:

答案 0 :(得分:0)

要让ID为“ledger_name”的文本框专注于页面加载,只需在.aspx页面中添加此JavaScript:

<script type="text/javascript">
$(document).ready(function() {
    $("#ledger_name").focus();
});
</script>

无需从后面的代码那样做。

可能对焦它也会触发自动完成功能,因此您无法从自动填充功能本身开始关注它。