如何修复XUL文本框的焦点/可点击性?

时间:2010-06-20 06:43:56

标签: textbox focus xul

在普通网页<input type='text'/>上,在Firefox中,您可以点击元素上的任意位置,浏览器将“关注”该元素。但是,在XUL(Firefox扩展)<textbox>元素上,只需单击文本框的最左侧部分边缘即可将其聚焦;点击它上面的任何其他地方都没有。

我发现这真的很烦人,特别是考虑到Firefox中的输入元素如何正常工作;我有一个网页的UI比浏览器扩展更好!有没有人知道一种方法来解决这种行为(我想也许我可以做一个onClick =“function(){this.focus()}”kinad的事情,但这似乎是如此hacky所以我真的希望有一个更好的方式......)

2 个答案:

答案 0 :(得分:0)

我终于想出了一个解决方法,尽管我仍然感到惊讶的是,解决这个问题并没有那么简单。如果有人有“真正的”解决方案,我很乐意给他们答案。

<textbox id="foo" onclick="focusFunction('foo')"/>

function focusFunction(id) {
  document.getElementById(id).focus("")
}

答案 1 :(得分:0)

所以...这有点令人尴尬,但我想我应该分享我最终如何正确解决问题。事实证明,XUL元素通常会在点击时集中注意力。正如我所发现的那样,问题在于,如果你把那些元素放在另一个元素的里面,那些那么就会停止正确聚焦。在我的情况下,我有****叹气****以下:

<groupbox align="start">
    <caption label="Test"/>
        <radiogroup>

包装我文档的所有实际内容(我甚至没有关闭它们;它只是一个可怕的未注意到的复制/粘贴错误)。

因此,如果您发现自己在第一个答案中需要代码,请先检查您的XUL文件:问题可能是您自己的代码。