У меня есть сетка dojo, на которой я хочу выполнить какое-либо действие, когда нажата клавиша «ENTER». Тем не менее, я хочу только добавить, что делает DOJO, когда нажата клавиша. Когда я пытаюсь использовать обработчик, он заменяет функцию onKeyDown в dojox.grid._Events вместо добавления к ней. Можно ли каким-либо образом убедиться, что функция _Events вызывается перед моими добавлениями в моей функции обработчика?Как я могу добавить к событию Grid Dojo вместо его замены?
0
A
ответ
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
, так что все из этих методов, доступные для подключения.
Я добавил это в функцию addOnLoad и ничего не получил. dojo.addOnLoad (function() {<ваш код здесь>}); Пробовал и onKeyPress, и onKeyDown, попробовал как console.log, так и alert. Я использую dojo 1.3 в IE 1.6. –
IE 1.6? вы имеете в виду IE6 – seth
Является ли ваша сетка в div с id = 'myGrid'? Является ли объект сетки неопределенным? – seth