我正在尝试执行以下操作:
我想为某些链接添加一个特定的处理程序,由一个类表示。
$("a.link_list").live("click", new ListLinkHandler());
我需要.live()
而不是.bind()
因为将生成新的此类链接。(我知道 jQuery 已.live()
被弃用.on()
,但 gwt-query 还.on()
没有。)
我像这样定义了处理程序(就像gwtquery 示例一样):
public class ListLinkHandler extends Function {
@Override
public boolean f(Event e) { [...] }
}
但是,当我单击链接时,永远不会调用处理程序方法。我可以在 Chrome 开发工具中看到事件监听器:http: //screencloud.net/v/bV5V。我认为它在,body
因为它是一个.live()
。
我尝试使用.bind()
并且效果很好。body
事件侦听器在 a 中发生了变化,并且a.link_list
处理程序执行了它应该做的事情,但是(如文档所述,我没有测试)不适用于新创建的链接。
我为该方法提交了一个错误.live()
,但也许我做错了什么。
另外,我不知道没有 gwtquery 怎么做,GWT 似乎没有按类选择元素的方法,也没有不断地将侦听器添加到新元素。