我在尝试关闭YUI2事件监听器时遇到问题。
我正在执行以下操作来建立侦听器,并且效果很好,但是对cancelButton的调用返回false并失败。每次打开对话框时,都会设置“取消”按钮侦听器,但是由于未成功删除以前的侦听器,因此取消函数被调用的次数越来越多。
我该如何阻止这种情况的发生?
var cancelButton = new YAHOO.util.Element( "buttonid" );
var handleCancelClick = function(e)
{
cancelButton.removeListener(handleCancelClick);
someotherstuff();
};
cancelButton.on('click', handleCancelClick, null, this);
最佳答案
您需要将事件类型传递给removeListener。
cancelButton.removeListener("click", handleCancelClick);
请参见http://developer.yahoo.com/yui/event/#removeevent或http://developer.yahoo.com/yui/docs/YAHOO.util.Element.html#method_removeListener