如何在点击wicket中的另一个链接时禁用所选链接

  • 本文关键字:链接 另一个 wicket java wicket
  • 更新时间 :
  • 英文 :


我有一堆这样的链接:

 <li wicket:id="LIlink"><a href="#" wicket:id="link">Link name</a></li>

在wicket中,<li>WebMarkupContainer<a>链接

当我点击一个链接时,我想把李的类改为活动的,我用我自己制作的一个类来做这个,就像下面的例子一样:

Link link= new Link("link") 
{
   @Override
       public void onClick() {
                    WMK.add(CssClassManagement.addAttribute("active"));
                }
};

考虑到WMK是包含链接的WebMarkupContainer。

在这里之前,一切都正常,问题是我不知道当单击另一个链接时,如何从<li>中删除活动类?

如果你的链接指向不同的页面,你可以检查当前页面是否是一个给定链接指向的页面,然后决定添加或删除活动属性。

问题出现在CssClassManagement.addAttribute("active")中。这为组件添加了一个永久的Behavior,为组件的每个呈现提供"活动"CSS类。如果"行为"是临时的(请参见Behavior#isTemporary()),则它将只使用一次并立即从组件中删除。所以下一次重新绘制页面时不会将链接标记为活动。

另一种方法是在点击事件发生时删除CSS类:

$(function() {
  $(document).on('click', 'a', function() {$('li.active').removeClass('active');});
});

当用户单击锚点时,这将删除CSS类。重新绘制页面时,会将新链接选择为活动链接。

最新更新