0

我在尝试关闭 YUI2 事件侦听器时遇到问题。我正在执行以下操作来建立侦听器并且效果很好,但是对 cancelButton 的调用返回 false 并失败。每次对话框打开时,都会设置取消按钮侦听器,但是由于之前的侦听器未成功删除,因此取消函数被调用的次数越来越多。

我怎样才能阻止这种情况发生?

var cancelButton = new YAHOO.util.Element( "buttonid" );
var handleCancelClick = function(e) 
{
    cancelButton.removeListener(handleCancelClick);         
    someotherstuff();
};
cancelButton.on('click', handleCancelClick, null, this);
4

2 回答 2

1

您需要将事件类型传递给 removeListener。

cancelButton.removeListener("click", handleCancelClick);

请参阅http://developer.yahoo.com/yui/event/#removeeventhttp://developer.yahoo.com/yui/docs/YAHOO.util.Element.html#method_removeListener

于 2012-08-30T15:21:44.307 回答
1

您需要调用 cancelButton.removeListener('click', handleCancelClick)。根据 API 文档,第一个参数是事件类型:

http://developer.yahoo.com/yui/docs/YAHOO.util.Element.html#method_removeListener

于 2012-08-30T15:25:21.927 回答