Способ создания пользовательского меню в правой мышью функцию событие мыши в ExtJS 4 мало чем отличается с предварительной версией. Кажется, в Ext 4.0.2 они изменили название события и аргументы порядке.
Во-первых, давайте посмотрим, как мы создаем меню Ext 3. Я получаю от этого примера aditia Рахман :
уаг menu1 = новый Ext.menu.Menu ({ пункты: [ { Текст: «Мне нравится внешний», Проверила: истинный }, '-', { текст: "Открыть с помощью», Меню: { пункты: [{ Текст: "Notepad + +" }, { Текст: "GIMP 2.0 }, { Текст: "Firefox" }] } }, '-', { текст: "Вырезать" }, { текст: "Копировать" }, { текст: "Удалить" }, '-', { Текст: "Переименовать" } ] });
Давайте напишем DataView добавить слушателя.
уаг datav = новый Ext.DataView ({ AutoScroll: правда, магазин: магазин, TPL: TPL, автовысоты: ложный, высота: 250, MultiSelect: так, overClass: «х-представление-на, itemSelector:" div.thumb пленку, emptyText: "Нет рисунков для показа, Стиль: "границы: 1px твердых # 99BBE8;, слушателей: { оказывают: { п: функция () { Ext.getBody (). О ("ContextMenu", Ext.emptyFn, нуль, {метод preventDefault: истинно}); } } ContextMenu: { п: функции (объект, индекс узла, событие) { х = event.browserEvent.clientX; у = event.browserEvent.clientY; menu1.showAt ([х, у]); } } } });
Когда данные зрения делает ее отключить по умолчанию щелкните правой кнопкой мыши меню веб-браузера, это называется у слушателей "оказывать" события и "contexmenu" события для определения права событие мыши, захватить позиции курсора мыши и отображения меню.

Это просто не так ли? Теперь давайте сделаем меню правой кнопкой мыши в ExtJS 4 MVC.
1. добавить в меню "приложение / просмотр / MenuRight.js" просмотра папок
Ext.define ('PG.view.MenuRight', { расширить: "Ext.menu.Menu, пункты: [ { Текст: «Мне нравится внешний», Проверила: истинный }, '-', { текст: "Открыть с помощью», Меню: { пункты: [{ Текст: "Notepad + +" }, { Текст: "GIMP 2.0 }, { Текст: "Firefox" }] } }, '-', { текст: "Вырезать" }, { текст: "Копировать" }, { текст: "Удалить" }, '-', { Текст: "Переименовать" } ] });
2. добавить слушателя в контроллере файл
инициализации: функция () { this.control ({ "Alias_name_here ': { визуализации: функция () { Ext.getBody () на ("ContextMenu", Ext.emptyFn, нулевой, {метод preventDefault: истинно}). } itemcontextmenu: функции (сетки, записывать, пункта, индекс, событие) { х = event.browserEvent.clientX; у = event.browserEvent.clientY; VAR = новое меню PG.view.MenuRight (); menu.showAt ([х, у]); / * / / Если вы хотите создать меню, здесь вместо того, чтобы добавить / / Меню в окне папки, вы можете использовать следующий код event.stopEvent (); уаг меню = Ext.create ('Ext.menu.Menu', { пункты: [{ текст: "Показывать имя, обработчик: функция () { предупреждение (record.get ('имя')); } }, { текст: 'Show ID, обработчик: функция () { предупреждение (record.get ('user_id')); } }] }); menu.showAt (event.xy); * / } } });
