我在尝试关闭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/#removeeventhttp://developer.yahoo.com/yui/docs/YAHOO.util.Element.html#method_removeListener

10-07 18:59