我正在使用JQuery .live来监听自定义事件,即不是.click,.change,.keyup或任何本机事件,而是我使用jquery .trigger创建的事件。我在应用程序中有几个地方使用.live来监听此事件。我想从事件中删除一个处理程序。我尝试过的方法似乎都没有,包括.unbind,.die和.undelegate。我正在使用jquery 1.6,所以我不能使用.off。实现这一目标的最佳方法是什么?
这基本上是我的代码所采用的形式。如果处理程序已经存在,我首先调用unbind来删除处理程序。
OBJECT 1
{
myNameSpace.MY_CUSTOM_EVENT_STRING = "my_event";
$cachedFieldObject.trigger(myNameSpace.MY_CUSTOM_EVENT_STRING);
}
OBJECT 2
{
function myfunctionName(var1) {myObject.myObjectsFunction()}
$("#divID").find(".fieldClass").unbind(myNameSpace.MY_CUSTOM_EVENT_STRING, myfunctionName).live(myNameSpace.MY_CUSTOM_EVENT_STRING, myfunctionName);
}