KendoGrid弹出编辑窗口,使用jquery设置焦点的表单字段



上下文:kendoGrid,编辑设置为弹出窗口。打开一个包含字段的弹出窗口,在这种情况下,编辑窗口的模板是使用 JS 逻辑等自定义的。已按照我们想要的顺序为所有字段设置了tabindex值,并在第一个字段上设置了自动对焦。我有自定义 JS,它在网格的 Edit 事件上运行,以便在窗口弹出时定位和调整窗口大小:function editWindowLocation(e)

观察:如果表单和字段是静态的,则使用JS代码相对简单,如下所示:document.formName.fieldName.focus();

问题:窗口弹出打开后,新窗口具有焦点。按下 Tab 键后,它会将焦点发送到窗口上的按钮(更新/取消(,稍后再按 Tab 键,到达字段。如何使弹出窗口中的第一个字段聚焦,以便 Tab 键将焦点设置为其他字段的索引设置顺序?

解决方案:在function editWindowLocation(e)结束时,我添加了一些代码来查找第一个tabindex并为其设置焦点。

setTimeout(function () {
    $("input[tabindex=1]").focus();
}, 1000);

你为什么说超时?剑道窗口以某种方式覆盖了.focus()事件,并将重点放在使kendoWindow div上。但是,当在超时中完成时,它会按预期工作。不知道为什么会发生这种情况,但这对我有用。

希望这对有类似问题的人有所帮助。

最新更新