2012-11-08 31 views
0

有,當我用掛毯5.3.6,CSS,jQuery的(使用tapestry5-jQuery的3.3.3)投票中出現了一些問題。很難用掛毯區 - 改變IDS

當我設置一個網頁,有區(我使用jQueryUI的選項卡),然後從一個切換到另一個刷新我已經取得了一些部件,一些元素失去自己的風格,由於改變了標籤ID。我用嵌入式樣式修正了這個問題,但現在又遇到另一個問題

我已經使用jQuery綁定一些事件的一些元素。區域切換後,某些元素會丟失其事件。我使用onActivate函數綁定了事件來解決它。另外,當元素的id變化時,jQuery選擇器會出現問題,但是可以使用條件選擇器來解決。

有沒有更優雅的方式來夫婦的這種織錦中的問題?我現在擁有的東西很混亂,給我的項目帶來了更多的複雜性。

+0

我使用的做出自己的區[jquery.tabs(http://tapestry5-jquery.com/components/docsjquerytabs)組件。 – Sasa

回答

0

提供您的區域不循環中創建的,您可以同時設置t:id和區域的id等於:

<t:zone t:id="myId" id="myId" />

這將停止掛毯時區是分配一個新的ID更新。

+0

它不起作用,因爲我使用[jquery.tabs](http://tapestry5-jquery.com/components/docsjquerytabs)組件具有自己的區域。我不知道我是否可以按照您的建議更改其ID。 – Sasa

+0

聽起來像一個tapestry-jquery的bug,但如果它只是你擔心的樣式,爲什麼不使用class名稱而不是id來應用樣式? – pstanton

+0

已經給出了類名,並且在頁面加載時使用jQuery添加更多的類名會更加骯髒。 – Sasa

0

我試圖解決由轉動T我的問題:AJAX標誌關閉,從組件ajax.tabs這將排除區域的使用。因爲它似乎解決了我的問題,但問題仍然存在,因爲我會想在某些情況下打開ajax行爲。