Можно ли в одну структуру 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);
Вы можете узнать имя нажатого элемента или подписаться на нажатия всех элементов в проекте, используя следующие инструкции.
Customer support service by UserEcho