1

考虑到这个 xul 标记:

<tabbox>
  <tabs>
    <tab>
      <textbox width="50">
    </tab>
  </tabs>
  <!-- ... -->
</tabbox>

...我无法<textbox>用鼠标选择。<tab>似乎屏蔽了对子节点的任何鼠标事件。如何让<textbox>接收鼠标事件?

我已经在and元素上尝试了类似mousethrough="always"and的属性,但老实说,我并不完全确定该属性应该做什么。此外,我相信它只适用于 a 中的元素。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>

4

0 回答 0