在使用tapestry 5.3.6、CSS、jQuery(使用tapestry5-jquery 3.3.3)javaScript时出现了一些问题。
当我设置一个包含区域的页面(我使用的是 jQueryUI 选项卡),然后从一个区域切换到另一个区域以刷新我制作的一些组件时,一些元素由于更改了标签 ID 而失去了它们的样式。我用嵌入式样式解决了这个问题,但现在有另一个问题。
我使用 jQuery 将一些事件绑定(bind)到一些元素。区域切换后,一些元素会失去其事件。我已经通过 onActivate 函数中的事件绑定(bind)解决了这个问题。此外,当元素的 id 发生变化时,jQuery 选择器会出现问题,但可以通过条件选择器解决。
有没有更优雅的方式来解决 Tapestry 中的这类问题?我现在所拥有的东西非常困惑,给我的元素带来了更多的复杂性。
最佳答案
如果您的区域不是在循环内创建的,您可以同时设置 t:id
和 id
区域的相等:
<t:zone t:id="myId" id="myId" />
这将在区域更新时停止 Tapestry 分配新的 Id。
关于jquery - 难以使用 Tapestry 区域 - 已更改 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13293318/