То, что у меня есть - это один dijit.Menu, который содержит объекты dijit.MenuItem с метками 1 - 9. Он связан с сетью, похожей на судоку, из 81 'узлов' (потому что существует очень Я не беспокоюсь об отдельных идентификаторах, я просто собираю их с помощью dojo.query («их-css-имя-класса»)). Это код, который я использую внутри виджета для создания экземпляра контекстного меню и его пунктов меню.
var contextMenu = new dijit.Menu({targetNodeIds:dojo.query(".sudokuNode"), leftClickToOpen:true});
for(var i = 1; i <= 9; i++) {
contextMenu.addChild(new dijit.MenuItem({
label:i,
onClick: function(evt) {
//??
}
}));
};
contextMenu.startup();
То, что я пытаюсь сделать , это иметь узел, по которому щелкают, а затем открывает всплывающее / контекстное меню, заполняемое значением (1-9), выбранным из контекстных меню MenuItems.
Моя проблема заключается в том, что я не знаю, как «узнать», какой из 81 узлов вызвал событие oncontextmenu, и я не знаю, как ссылаться на этот узел внутри метода «onClick». заявлено в пункте меню.
Буду признателен за любую помощь, демонстрирующую, как ссылаться на вызывающий узел в этом контексте! Если этой информации недостаточно, дайте мне знать, что еще я могу сделать, чтобы объяснить мою проблему!