2012-11-08 25 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行为。