考虑这个xul标记:
<tabbox>
<tabs>
<tab>
<textbox width="50">
</tab>
</tabs>
<!-- ... -->
</tabbox>
...我无法用鼠标选择<textbox>
。似乎<tab>
屏蔽了任何鼠标事件到子节点。如何让<textbox>
接收鼠标事件?
我在mousethrough="always"
和mousethrough="never"
元素上尝试了<tab>
和<textbox>
等属性,但说实话,我不完全确定该属性是什么应该做的。此外,我认为它仅适用于<stack>
。
我还在allowevents="true"
上尝试了<tab>
,但不幸的是,这也没有做任何事情。
做什么在某种程度上是通过JavaScript传递焦点,如下所示:
theTab.addEventListener( 'focus', function( event ) {
theTextbox.focus();
} );
...但这太笨重了,仍然没有使<textbox>
行为正常(无法选择文字等)。那么我可能需要为一系列事件实现这一点。
那么,我可以采取什么简单的步骤让<tab>
元素的子节点按预期运行?
或者我是否需要完全扩展选项卡XBL,因为选项卡通常不会按照我打算的方式运行?
修改
我刚刚想到我可能可能通过完全省略标签而在视觉上伪造一点,只有一个<textbox>
,看起来像一个标签,其中包含:
<textbox id="someId"/>
#someId {
-moz-appearance: tab
}
...并尝试以某种方式将其合并到<tabs>
元素中。
尽管如此,我宁愿找到一个实际<tab>
的解决方案,以便我可以在某种程度上让<tab>
表现为实际<tab>
(弹出)选择时,等等。)。