Обработчики событий в Tree

У Tree есть разные события, которые можно использовать для настройки поведения компонента.

Добавить обработчик событий можно двумя способами:

  • с помощью метода attachEvent();
  • с помощью параметра on.

Названия событий чувствительны к регистру

Метод attachEvent()

Привязать/отвязать обработчики событий можно с помощью этих методов:

Общепринятый вариант привязать/отвязать событие

// добавить событие
var myEvent = $$("treeId").attachEvent("onItemClick", function() {
  // event handler code
});
 
// удалить событие
$$("treeId").detachEvent(myEvent);

Параметр 'on'

С помощью параметра on, вы можете добавить одно или несколько событий объекту Tree. Но в отличии от attachEvent отвязать эти события не получится.

Привязка события через параметр 'on'

webix.ui({
    view:"tree",
    ...
    on: {
        "itemClick": function () {
            alert("item has just been clicked");
        }
    }
});

Отмена событий

Cобытия, имена которых начинаются на onBefore можно отменить.
Для этого необходимо вернуть false внутри обработчика событий.

Отмена обработчика событий

var myEvent = $$("treeId").attachEvent("onBeforeSelect", function() {
    ... // some event handler code
    return false;
});

Доступные объекты и данные

Внутри обработчика вы можете ссылаться на компонент через ключевое слово this.
Кроме того, большинство обработчиков принимают аргумент(ы) вроде id элемента (Подробнее о том, какие именно аргументы принимают обработчики событий в Tree).

Обращение к id элемента позволяет получить доступ к самому элементу, а также его свойстам:

Обращение к id внутри обработчика

$$("treeId").attachEvent("onAfterSelect",function(id){
    var parentId = this.getItem(id).parent;
});
Наверх