我在表单上有多个trix输入。通常在表单输入中按Tab键时的表单:它会跳转到下一个表单输入。我注意到在桌面计算机上:trix输入的tabbing实际上会在最终到达下一个输入之前通过所有trix工具栏按钮。有趣的是:它可以通过iPad和蓝牙键盘实现预期效果。
trix的github located here指出了这个问题。该问题已经结束,因为那里发布的工作明显解决了这个问题。以下是其中一条建议:
for (var element of event.target.toolbarElement.querySelectorAll("button")) {
element.tabIndex = -1
}
然而,当我将其插入我的应用程序并查看前端错误日志时,这就是它所说的:
TypeError:event.target.toolbarElement.querySelectorAll的元素不是函数。 (在event.target.toolbarElement.querySelectorAll(&#34;按钮&#34;)&#39;,&#39;元素中,event.target.toolbarElement.querySelectorAll&#39;元素未定义)< / p>
我相信解决方案有效,但我可能错过了一些东西。我不是非常熟悉javascript,所以错误信息对我来说有点神秘。
答案 0 :(得分:0)
只需更改语法,它就可以工作:
document.addEventListener("trix-initialize", function(event) {
var elementButtons = event.target.toolbarElement.querySelectorAll("button")
for (i=0; i<elementButtons.length; i++) {
elementButtons[i].tabIndex = -1 ;
}
})