上下文: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
上。但是,当在超时中完成时,它会按预期工作。不知道为什么会发生这种情况,但这对我有用。
希望这对有类似问题的人有所帮助。