1

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

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

$('#countries').focus()

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

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

4

2 回答 2

6

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

由于 HTML 元素周围的 Kendo UI 装饰,您应该使用 AutoComplete focus

于 2013-06-17T17:14:57.340 回答
2

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

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

这是 Telerik 的解释 - “AutoComplete 小部件旨在在单击弹出元素时保持输入的焦点。选择是在 open->click->close 链之间引发的,这就是我们需要使用的原因setTimeout 函数来关注其他输入。”

于 2019-04-08T17:46:54.073 回答