1

我正在使用 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 用户界面

<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 文件中出现错误

4

1 回答 1

0

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

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

无需从后面的代码中执行此操作。

可能聚焦它也会触发自动完成,所以你不能从自动完成本身中聚焦它。

于 2012-12-19T07:50:57.923 回答