Можно ли в одну структуру AddListener добавить обработку нажатий для нескольких объектов?
На данный момент каждый элемент интерфейса нуждается в своем слушателе:
Возможность обращения к данным достигается путем передачи 4-го параметра в метод AddListener:
Вы можете узнать имя нажатого элемента или подписаться на нажатия всех элементов в проекте, используя следующие инструкции.
// массив элементов var gRegisters = [ {item: IR.GetItem("Page 1").GetItem("1")}, {item: IR.GetItem("Page 1").GetItem("2")}, {item: IR.GetItem("Page 1").GetItem("3")}, ]; function OnPress() { // что-то делаем при нажатии на элемент массива, this. - указатель на item IR.Log("Pressed: " + this.Name); IR.Log(this.Name + " Value: " + this.Value); } // создание слушателей для всех элементов массива function RegisterButton() { for(var i = 0; i < gRegisters.length; i++) { var item = gRegisters[i].item; IR.AddListener(IR.EVENT_ITEM_PRESS, item, OnPress, item); } } // функция, выполняющаяся по старту function Start() { RegisterButton(); } // начинаем создание слушателей IR.AddListener(IR.EVENT_START,0, Start);Что бы получить доступ к данным графического элемента внутри функции OnPress, необходимо обратиться к нему по ссылке this. Например:
function OnPress() { var NameOfItem = this.Name; IR.Log( NameOfItem ); }
Возможность обращения к данным достигается путем передачи 4-го параметра в метод AddListener:
IR.AddListener(IR.EVENT_ITEM_PRESS, item, OnPress, item);
Вы можете узнать имя нажатого элемента или подписаться на нажатия всех элементов в проекте, используя следующие инструкции.
Сервис поддержки клиентов работает на платформе UserEcho