0

当我使用tapestry 5.3.6、CSS、jQuery(使用tapestry5-jquery 3.3.3)javaScript 时出现了一些问题。

当我设置一个具有区域的页面(我正在使用 jQueryUI 选项卡)然后从一个切换到另一个刷新我制作的一些组件时,由于标签 ID 的更改,一些元素失去了它们的样式。我用嵌入式样式解决了这个问题,但现在有另一个问题。

我使用 jQuery 将一些事件绑定到一些元素。区域切换后,某些元素会丢失其事件。我已经通过 onActivate 函数中的事件绑定解决了它。此外,当元素的 id 发生变化时,jQuery 选择器会出现问题,但可以使用条件选择器来解决。

有没有更优雅的方式来处理挂毯中的这类问题?我现在所拥有的非常令人困惑,并给我的项目带来了更多的复杂性。

4

2 回答 2

0

我试图通过从组件ajax.tabs中关闭 t:ajax 标志来解决我的问题,这将排除区域的使用。似乎解决了我的问题,但问题仍然存在,因为我可能希望在其他情况下打开 ajax 行为。

于 2012-11-09T09:23:36.260 回答
0

如果您的区域不是在循环中创建的,您可以将区域的t:id和设置id为相等:

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

这将在区域更新时停止挂毯分配新的 ID。

于 2012-11-09T05:13:13.010 回答