Я создал класс в mootools, который при первом вызове метода initialize () создает элементы div, которые затем добавляются в document.body.Затем я присоединяю обработчик контекстного меню, который будет вызывать функции, когда в браузере выбрана опция из контекстного меню.
Проблема, с которой я столкнулся, заключается в том, что обработчик контекстного меню фактически не вызывает никаких функций, и я не могуЯ выяснил причину и спросил, может ли кто-нибудь здесь обнаружить проблему.
Вот класс, который я создал, и прикрепленный обработчик контекстного меню, для краткости некоторые другие коды были удалены:
var uml_Canvas = new Class({
initialize: function()
{
this.mainCanvasDiv = document.createElement("div");
this.mainCanvasDiv.id = "mainCanvas";
this.mainAppDiv.appendChild(this.mainCanvasDiv);
this.paper = Raphael(this.mainCanvasDiv.id, 500, 400);
this.paper.draggable.enable();
$("#"+this.mainCanvasDiv.id).contextMenu('canvasPanel_Menu',
{
bindings:
{
'clear': function(t)
{
this.clearPaper();
}
}
});
},
clearPaper : function()
{
this.paper.clear();
}
});
Итак, краткий обзор: создается объект, который создает div и затем добавляет его в тело.Затем div получает контекстное меню.Когда вызывается опция 'clear', должен вызываться метод clearPaper (), по какой-то причине это не так.Однако если я заменю строку this.clearPaper();
простым вызовом alert (), он действительно запустится.
Может кто-нибудь увидеть причину, по которой невозможно вызвать метод?
Спасибо за любые отзывы.
Кстати, я получаю ошибку this.clearPaper is not a function
, если это поможет.