我有下面的代碼如何獲得電網onContextMenu功能
grid.on('contextmenu', this.onContextMenu, this);
onContextMenu: function (e) {
// I want the grid here
},
只有一個參數「E」。我不能使用'this',因爲網格在面板內部,'this'返回面板而不是網格。我正在使用Extjs 2.3.0。
我有下面的代碼如何獲得電網onContextMenu功能
grid.on('contextmenu', this.onContextMenu, this);
onContextMenu: function (e) {
// I want the grid here
},
只有一個參數「E」。我不能使用'this',因爲網格在面板內部,'this'返回面板而不是網格。我正在使用Extjs 2.3.0。
您可以將網格傳遞到您的處理自己:
grid.on('contextmenu', function(e) {
this.onContextMenu(e, grid);
}, this);
你的處理方法:
onContextMenu: function(e, grid) {
// have fun with your grid
}
我沒有檢查過,但在這種情況下,我也可以得到'e'。我也需要這個。 –
當然,你可以通過他們兩個。我已經更新了我的答案來說明這一點。 – rixo
完美!!!!!!有效。標記爲答案。謝謝。 –
嗯,你確定你想文本菜單,而不是像其他人rowcontextmenu或cellcontextmenu之一?儘管有contextmenu,但是,您有事件對象。您應該能夠獲取contextmenu事件的目標,並將其用作向上遍歷dom以查找基礎網格元素的起始位置。或者,你也可以給你的網格編號,只是使用Ext.getCmp(...) – existdissolve
是的,我只想contextmenu而不是rowcontextmenu和其他人...另外,我不能使用網格ID,因爲我正在創建四個不同的網格使用相同的功能,並在該功能,我打電話給這個代碼contxtmenu。 我在想'e'應該像rowcontextmenu(網格,索引,事件)那樣有一個參數作爲'網格'... –
好吧,然後另一個選項是要走的路。 – existdissolve