我试图使用jquery将焦点设置为元素,因为如果元素位于组件之外,则可以使用角度忽略的渲染器
但是$(“#selector”)。focus()不起作用尝试以下
不工作
setTimeout(() => $(window.parent.document).find("button[tabindex='0']").first().focus(), 400);
尝试在上面的代码中将超时增加到1000以上,但仍无效。
以下令人惊讶的作品
setTimeout(() => $(window.parent.document).find("button[tabindex='0']").first().focus(), 100);
setTimeout(() => $(window.parent.document).find("button[tabindex='0']").first().focus(), 300);
我不知道为什么第二种方法有效。我真的不喜欢第二种方法。
请建议 1.在不使用两个setTimeout的情况下执行上述操作的替代方法。 2.使用角度设置焦点的更好方法(比如使用渲染器,但要聚焦的元素在iam设置焦点的组件之外)而不是jquery