我正在使用MDL标签组件。单击选项卡并显示该选项卡的内容后,我想将光标焦点设置在该选项卡内容中的某个文本输入中。
我的初始方法只是处理tab元素的click事件,然后相应地设置焦点。我遇到的问题是在文本输入元素上调用.focus()是不行的,因为它试图在文本元素实际可见之前设置焦点,这似乎没有浏览器为你做的。如果我将焦点设置在setTimeout()延迟中它可以工作,但这并不是一种非常干净的方法。
单击选项卡并完成显示内容后,是否可以处理任何类型的事件?我还研究过使用变异观察器来检测文本输入元素何时可见,但浏览器支持仍然相当有限。
答案 0 :(得分:0)
我添加了这一行:
window.dispatchEvent(new Event("tabSelected"));
到selectTab()
函数末尾的material.js文件。这样,在显示选项卡内容后立即触发事件。