2010-10-22 79 views
0

我想在設置label屬性時使用toolbaritem的事件偵聽器。因爲即使我將我的分機的toolbaritem添加到<toolbarpalette id="BrowserToolbarPalette">,它也不會被document.getElementById找到,除非正在使用它。目前我有導航欄上的DOMNodeInserted事件監聽器和設置我的toolbaritem的屬性的加載項欄,但我想知道是否有更好的方法?使用擴展程序的toolbaritem時,通知的最佳方式是什麼?

回答

-2

看一看Broadcasters and Observers。我認爲這會幫助你。

+0

我剛讀過它,它似乎沒有幫助。它似乎描述瞭如何將更改廣播到文檔中的多個元素,但我想知道何時將toolbaritem添加到browser.xul,這似乎是一個完全不同的問題。 – erikvold 2010-10-23 19:39:25

+0

@Erik Vold:你想添加哪個事件監聽器到按鈕?你說*設置我的toolbaritem的屬性*。您可以在廣播公司設置屬性和事件處理程序,並讓工具條按鈕觀察它們。 – 2010-11-24 20:03:40

+0

謝謝菲利克斯,這是一個更好的方式來解決我現在的問題,但不回答我的問題。 – erikvold 2010-12-04 23:25:53

-1

你打電話document.getElementById爲時過早,可能在Firefox已經將項目添加到工具欄之前?如果是這樣,您可能希望將您的代碼移動到一個函數,該函數在主瀏覽器窗口中的"load"事件上被註冊。這應確保瀏覽器(包括工具欄)在您的代碼運行時已成功構建。

+0

document.getElementById調用位於「加載」事件偵聽器中,該項目dne和這似乎是因爲用戶需要自定義工具欄並添加它。 – erikvold 2010-10-22 18:38:08

相關問題