在自动填充文本框上设置焦点()

时间:2013-06-17 17:01:28

标签: autocomplete kendo-ui kendo-autocomplete

我正在尝试将光标设置在已设置为kendoAutoComplete的文本框上,但光标未显示。

使用Kendo的AutoComplete basic demo我在Chrome开发者控制台中运行以下代码,但光标未显示。

$('#countries').focus()

当代码运行时,我确实看到输入框周围的跨度确实得到了“k-state-focused”类,它将边框颜色更改为灰色,但就是这样。

据我所知,'k-state-focused'css类不会隐藏光标。所以不确定Kendo是否以某种方式拦截JavaScript中的焦点并且没有设置它,或者因为文本框周围有一个跨度,焦点就被隐藏了。

2 个答案:

答案 0 :(得分:5)

而不是$('#countries').focus()$('#countries').data("kendoAutoComplete").focus()

由于围绕HTML元素的Kendo UI装饰,您应该使用自动完成focus

答案 1 :(得分:1)

第一个答案对我不起作用。可能是因为我将UI用于ASP.NET Core,但是此解决方案确实有效:

$(document).ready(function () {
    setTimeout(function () {
        $("#myInputId").focus();
    });
});

这是Telerik的解释-“自动完成小部件旨在在单击弹出元素时保持输入焦点。在open-> click-> close链之间进行选择,这就是为什么需要使用setTimeout函数来集中其他输入。”