2011-04-20 79 views
2

什麼是檢測tabbox內標籤之間切換的最佳方式tabbox標籤的變化? 特別是,我需要當某一標籤被打開,以檢測,並且當用戶離開它(切換到另一選項卡)。檢測在XUL

我使用onclick,但現在那種感覺的hackish。

回答

1

監聽tabpanels元素的select事件:

var panels = document.getElementById("tabpanels"); // whatever your ID is 
panels.addEventListener("select", function(e) { 
    var el = e.target; 
    alert(e.target.tagName); // tabpanels 
    alert(e.target.selectedPanel) // [object XULElement] (the selected tab) 
}, false); 
+0

其實無論是'tabs'和'tabpanels'產生選擇的事件,雖然有可能爲多個選項卡顯示相同的一個tabpanel,在這種情況下你不會得到第二個選擇事件。 – Neil 2011-04-23 22:45:41

+0

感謝它的工作。可惜的是儘管這Tabpanels也抓住所有的「選擇」,其子女的事件,所以額外的檢查是必要的,以確定用戶是否真正更改標籤或簡單地點擊裏面一個tabpanel東西。 – 2011-05-22 11:34:41

2

我承認這可能是在靠近頁面頂部的更加突出的位置,但documentation說:

selectedPanel

類型:元素

存放到當前的參考在元素中選擇面板。爲此>屬性指定一個值將修改所選面板。當所選擇的面板被改變甲選擇事件將被髮送。

事件目標是tabbox還是個別面板尚不完全清楚,因此您可能需要嘗試一點點。