【问题标题】:How to fix focus/clickability of XUL textboxes?如何修复 XUL 文本框的焦点/可点击性?
【发布时间】:2010-06-20 06:43:56
【问题描述】:

在普通网页<input type='text'/> 上,在 Firefox 中,您可以单击元素上的任意位置,浏览器将“聚焦”该元素。但是,在 XUL(Firefox 扩展)<textbox> 元素上,只有单击文本框的 leftmost part 边缘才会聚焦它;点击它上面的任何地方都没有任何作用。

我觉得这真的很烦人,尤其是考虑到 Firefox 中的输入元素如何正常工作;与浏览器扩展相比,我的网页用户界面会更好!有谁知道解决这种行为的方法(我在想也许我可以做一个 onClick="function(){this.focus()}" kinad 的事情,但这看起来很老套,所以我真的希望有一个更好的方式...)

【问题讨论】:

    标签: textbox focus xul


    【解决方案1】:

    我终于找到了一种解决方法,尽管我仍然很惊讶没有比这更老套的方法来解决这个问题。如果有人有“真正的”修复,我会很乐意将答案奖励给他们。

    <textbox id="foo" onclick="focusFunction('foo')"/>
    
    function focusFunction(id) {
      document.getElementById(id).focus("")
    }
    

    【讨论】:

      【解决方案2】:

      所以……这有点尴尬,但我想我应该分享一下我最终是如何正确解决问题的。事实证明,XUL 元素通常会在单击时获得焦点。正如我发现的那样,问题在于,如果您将这些元素 放入 另一个元素中,而这些元素不应该在其中, 那么 它们将无法正确聚焦。就我而言,我有 ****sigh**** 以下内容:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多