java如何在自定义Tapestry 5组件中使用jQuery
我试图创建一个组件,如果给定以下tml:
<t:slideout>
<p:header>Short Description of Data</p:header>
Long Details about the data here
</t:slideout>
这应该首先在header参数中呈现该块,当单击该块时,我希望使用jQuery滑出长细节部分。slideDown()函数或等效函数
目前我有以下课程:
public class slideout
{
@Parameter(name="header", defaultPrefix = BindingConstants.LITERAL)
private Block headerBlock;
public Block getHeader()
{
return headerBlock;
}
}
以及相应的滑出。tml文件:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
xmlns:p="tapestry:parameter">
<body>
<t:delegate to="header"/>
<t:body/>
</body>
</html>
我们已经在使用tapestry5 jQuery库,这个组件需要能够在同一个页面上多次使用,所以我也不确定如何确保在呈现页面时没有ID冲突
我不确定从这里可以取得什么进展,如果我在原始HTML/jQuery中这样做的话,我会这样做
$('slideout-header').click(function() {
$(this).next('slideout-body').slideDown();
});
然而,我不确定构建这些类的“Tapestry”方式是什么。在Tapestry 5中,解决这个问题的最佳方法是什么
# 1 楼答案
你可以添加一个滑出。你的幻灯片旁边的js文件。tml:
添加到你的幻灯片中。爪哇:
还有你的滑出。tml(请注意,我删除了html,以便您可以使用Slideout作为组件)
免责声明:我还没有测试过这段代码,所以请试一试