2009-08-17 33 views
0

當我按下「ENTER」鍵時,我想要執行一些操作。但是,我只想添加一個按鍵時DOJO已經做的事情。當我嘗試使用處理程序時,它將替換dojox.grid._Events中的onKeyDown函數,而不是添加到它。有什麼方法可以確保在我的處理函數中添加之前調用_Events函數?如何添加到Dojo網格事件而不是替換它?

回答

2

您可以連接到網格對象上的onKeyPress函數。例如:

var grid = dijit.byId('myGrid'); 
dojo.connect(grid, "onKeyPress", function(evt) { 
    if(evt.keyCode === dojo.keys.ENTER) { 
    console.log('ENTER!'); 
    } 
}); 

dojox.grid._Grid類(這是所有網格的一個父類)從dojox.grid._Events擴展,以便所有的這些方法可用於連接。

+0

我在addOnLoad函數中添加了這個,沒有任何東西。 dojo.addOnLoad(function(){});嘗試onKeyPress和onKeyDown,都嘗試了console.log和alert。我在IE 1.6中使用dojo 1.3。 – 2009-08-19 21:21:46

+0

IE 1.6?你的意思是IE6 – seth 2009-08-19 21:22:53

+0

你的網格在ID ='myGrid'的div嗎?網格對象是否未定義? – seth 2009-08-19 21:23:36

相關問題