如何停止YUI事件侦听器

时间:2012-08-30 13:58:02

标签: javascript events yui

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

如何阻止这种情况发生?

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

2 个答案:

答案 0 :(得分:1)

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

cancelButton.removeListener("click", handleCancelClick);

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

答案 1 :(得分:1)

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

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

相关问题