2010-06-20 84 views
0

在Firefox的正常網頁<input type='text'/>上,您可以點擊元素上的任意位置,瀏覽器將「關注」該元素。然而,在XUL(Firefox擴展)<textbox>元素上,只有在文本框的最左邊部分邊上單擊 纔會將其聚焦;點擊它的任何其他地方什麼也不做。 如何修復XUL文本框的焦點/可點擊性?

我覺得這真的很煩人,尤其是考慮到Firefox中的輸入元素如何正常工作。與網頁瀏覽器擴展相比,我的網頁用戶界面更好!有誰知道一種方法來解決這種行爲(我想也許我可以做一個onClick =「function(){this.focus()}」kinad的東西,但這似乎很hacky,所以我真的希望有一個更好的方式...)

回答

0

所以......這個有點尷尬,但我想我應該分享我是如何最終解決問題的。事實證明,XUL元素在點擊時通常會關注。正如我發現的那樣,問題在於如果你將那些元素放在之內,而他們不應該放在其中,然後它們會停止正確聚焦。在我來說,我不得不感嘆**** ****如下:

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

包裹我的所有文件的實際內容(我甚至沒有關閉它們要麼;這只是一個可怕的聯合國注意到複製/粘貼錯誤)。

因此,如果您發現自己在第一次回答時認爲需要代碼,請首先檢查您的XUL文件:問題可能是您自己的代碼。

0

我終於想出了一個解決方法,但我仍然感到驚訝的是,沒有一個解決這個問題的簡單方法。如果有人有「真正的」修復,我會很樂意將答案給予他們。

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

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