目的: 覆蓋原本 parent class event 的處理, Ex: [刪除]鈕, 覆蓋原本 parent.[刪除]鈕的處理
處理說明:
1>方法1:
1>>btn_del 的 parent 函式中, 有一 beforeDel() 函式傳回 true 時, 才會往下執行
所以將 beforeDel() 函式 傳回 false , 則不會往下執行, 即不執行 parent.btn_del 處理
2>方法2:
1>>利用 元件.un("event名稱", event handler) , 解除 parent 的 event handler
2>>重新 元件.on("event名稱", function (){}) ;
1>>利用 元件.un("event名稱", event handler) , 解除 parent 的 event handler
2>>重新 元件.on("event名稱", function (){}) ;
1>>方法1: 利用 parent.beforeDel 函式 , 傳回 false , 不會執行原本 parent.del處理
Ext.getCmp('btn_del').beforeDel = function () {
return false;
}
Ext.getCmp("btn_del").on('click', function () {
mysuccessalert("btn_del click");
});
return false;
}
Ext.getCmp("btn_del").on('click', function () {
mysuccessalert("btn_del click");
});
2>>方法2: 利用 元件.un("event名稱", event handler) , 解除 parent 的 event handler
Ext.getCmp('btn_del').un("click", Ext.getCmp('btn_del').events.click.listeners[0].fn);
console.log("2 after un Ext.getCmp('btn_del') : ", Ext.getCmp('btn_del'));
console.log("2 after un Ext.getCmp('btn_del') : ", Ext.getCmp('btn_del'));
console.log("1 Ext.getCmp('btn_del') : ", Ext.getCmp('btn_del'));
console.log("1 before Ext.getCmp('btn_del').events.click.listeners[0].fn : ", Ext.getCmp('btn_del').events.click.listeners[0].fn);
Ext.getCmp("btn_del").on('click', function () {mysuccessalert("btn_del click");
});
沒有留言:
張貼留言