开发者

How to fix focus/clickability of XUL textboxes?

开发者 https://www.devze.com 2023-01-04 14:45 出处:网络
On a normal webpage <input type=\'text\'/>, in Firefox, you can click anywhere on the element and the browser will \"focus\" on that element.On a XUL (Firefox extension) <textbox> element

On a normal webpage <input type='text'/>, in Firefox, you can click anywhere on the element and the browser will "focus" on that element. On a XUL (Firefox extension) <textbox> element however, only clicking on t开发者_Python百科he leftmost part edges of the textbox will focus it; clicking anywhere else on it does nothing.

I find this really annoying, especially given how input elements in Firefox work normally; I'd have better UI with a web page than with a browser extension! Does anyone know of a way to fix this behavior (I was thinking maybe I could do an onClick="function(){this.focus()}" kinad thing, but that seems so hacky so I was really hoping there was a better way ...)


I finally figured out a workaround, although I remain surprised that there isn't a less hacky way of solving this. If anyone has a "real" fix, I'll happily award the answer to them.

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

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


So ... this ones a little embarrassing, but I thought I should share how I finally solved the problem properly. As it turns out, XUL elements DO normally get focused on when click. The problem, as I discovered, was that if you put those elements inside of another element that they aren't supposed to be inside of, then they stop being focused properly. In my case I had ****sigh**** the following:

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

wrapping all of the actual contents of my document (and I didn't even close them either; it was just a terrible un-noticed copy/paste error).

So, if you find yourself thinking you need the code in my first answer, check your XUL files first: the problem is probably your own code.

0

精彩评论

暂无评论...
验证码 换一张
取 消