2013-02-21 50 views

回答

0

你不能“改变”action函数本身。 action是用于将某些事件的事件侦听器添加到您创建的按钮节点的快捷方式。你可以做的是删除该事件监听器并添加另一个监听器。

由于action只添加一个事件侦听器,您可以通过删除所有事件侦听器来安全地删除它。只需拿到getButton的按钮结点,拨打detachAll并附加一个新的事件监听器:

var panel = new Y.Panel({ /* panel config with some buttons */ }); 
// later on... 
var button = panel.getButton(1); 
button.detachAll(); 
button.on('click', newAction);