Я пытаюсь зарегистрировать свой прослушиватель onClick на кнопку dijit, размещенную как виджет в ячейке с помощью GridX. Я сделал следующее, основываясь на примере test_grid_cellWidget
:
{ field: "save", name:"Save",
widgetsInCell: true,
navigable: true,
decorator: function(){
//Generate cell widget template string
return '<button data-dojo-type="dijit.form.Button" data-dojo-attach-point="btn">Save</button>'
},
setCellValue: function(data){
//"this" is the cell widget
this.btn.set("label", "Speichern")
this.btn.connect("onClick", function(){
alert('clicked')
})
}
},
setCellValue
выполняется успешно, и метка изменена. Однако прослушиватель onClick не зарегистрирован и не вызывается, когда я нажимаю кнопку. Когда я использую синтаксис data-dojo-props="onClick:function"
, он работает, но требует объявления функции слушателя как глобальной, чего я хотел бы избежать.
Во всяком случае, у меня есть объект Button, и я выполняю код, найденный в документах dijit, поэтому он должен работать. Но почему ничего не прописано в этом контексте?