在普通网页<input type='text'/>
上,在Firefox中,您可以点击元素上的任意位置,浏览器将“关注”该元素。但是,在XUL(Firefox扩展)<textbox>
元素上,只需单击文本框的最左侧部分边缘即可将其聚焦;点击它上面的任何其他地方都没有。
我发现这真的很烦人,特别是考虑到Firefox中的输入元素如何正常工作;我有一个网页的UI比浏览器扩展更好!有没有人知道一种方法来解决这种行为(我想也许我可以做一个onClick =“function(){this.focus()}”kinad的事情,但这似乎是如此hacky所以我真的希望有一个更好的方式......)
答案 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文件:问题可能是您自己的代码。