Как динамически поменять или задать событие объекту в DevelNext 16.7.0?
Первый способ
Для того, чтобы поменять событие объекту вы можете использовать метод on():
use php\gui\event\UXKeyEvent;
$this->edit->on('keyUp', function(UXKeyEvent $e) {
alert(«Нажали на кнопку $e->codeName»);
});
Для того чтобы отключить событие, вы можете использовать метод off:
$this->edit->off('keyUp');
Метод on не совсем универсальный, он умеет задавать только базовый набор событий без параметров.
Второй способ
Более предпочтительный вариант, работающий для любых событий — это делать через метод формы bind(), на которой объект расположен:
use php\gui\event\UXKeyEvent;
$this->bind('edit.keyUp-Enter', function (UXKeyEvent $e) {
alert(«Нажали на кнопку Enter»);
});
Метод $this->bind() можно применять только для объектов, которые уже были добавлены на форму и которые имеют свой id.