JQuery .autocomplete焦点不起作用

时间:2016-06-30 10:51:15

标签: javascript jquery jquery-ui

我有以下代码。

function halle(row, settings, row_element) {
    $('input', row).autocomplete({
        minLength: "0",
        source: "../../shared/hallensuche.aspx",
        select: function (e, ui) {
            $(this).val(ui.item.label);
            //update hallennr
            var aPos = oTableAnwurfzeiten.fnGetPosition(row_element);
            oTableAnwurfzeiten.fnUpdate(ui.item.value, aPos[0], 11);
            isHalleChanged = true;
            $(this).focus().select();
            return false;
        },
        search: function (e, ui) {
        },
        focus: function (e, ui) {
            $(this).val(ui.item.label);
            return false;
        }
    }).focus(function (e, ui) {
        $(this).autocomplete("option", "source", "../../shared/hallensuche.aspx?focus=true");
        $(this).trigger('keydown.autocomplete');
        $(this).select();
        return false;
    }).keydown(function (e, ui) {
        $(this).autocomplete("option", "source", "../../shared/hallensuche.aspx?focus=false" + $('input', row).val());
    });
}

如果我在输入中写入内容,则执行keydown命令。在.focus没有任何反应。当我尝试alert()时,它可以工作。不执行自动完成,因此不会发送“focus = true”。有谁知道我做错了什么?

抱歉我的英文不好:D

1 个答案:

答案 0 :(得分:0)

尝试使用focusin代替焦点。更新的代码看起来像,

$('input', row).autocomplete({
        minLength: "0",
        source: "../../shared/hallensuche.aspx",
        select: function (e, ui) {

        },
        search: function (e, ui) {
        },
        focus: function (e, ui) {
            $(this).val(ui.item.label);
            return false;
        }
    }).on("focusin",function (e, ui) {
       console.log("trigger here");
    }).keydown(function (e, ui) {

    });

参见演示here