我正在尝试将光标设置在已设置为kendoAutoComplete的文本框上,但光标未显示。
使用Kendo的AutoComplete basic demo我在Chrome开发者控制台中运行以下代码,但光标未显示。
$('#countries').focus()
当代码运行时,我确实看到输入框周围的跨度确实得到了“k-state-focused”类,它将边框颜色更改为灰色,但就是这样。
据我所知,'k-state-focused'css类不会隐藏光标。所以不确定Kendo是否以某种方式拦截JavaScript中的焦点并且没有设置它,或者因为文本框周围有一个跨度,焦点就被隐藏了。
答案 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函数来集中其他输入。”