0
我使用panel.addButton({value:“XXX”,section:...,action:function(){*}})添加一个按钮 一个面板,现在我想重载按钮的动作,该怎么做!如何覆盖YUI3中面板按钮的事件处理函数
我使用panel.addButton({value:“XXX”,section:...,action:function(){*}})添加一个按钮 一个面板,现在我想重载按钮的动作,该怎么做!如何覆盖YUI3中面板按钮的事件处理函数
你不能“改变”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);