Играя с Vanillatree.js Я наткнулся на event.details
и подумал о следующем:
Если вы хотите, чтобы выделение из дерева заполняло текстовое поле, вы можете использовать что-то вроде приведенного ниже кода, но что, если вы хотите использовать что-то вроде label
или name
вместо id
?
main.addEventListener('vtree-select', function(evt) {
randomtextArea.value = evt.detail.id + ' is selected';
});
В моем случае каждый элемент дерева выглядит так:
id:{
attribute1:"value1",
parentId:parentId,
name:name,
id:id
}
Я думаю, что ответственная функция в основном файле js:
_dispatch: function( name, id ) {
var event;
try {
event = new CustomEvent( 'vtree-' + name, {
bubbles: true,
cancelable: true,
detail: {id:id}
});
} catch(e) {
event = document.createEvent( 'CustomEvent' );
event.initCustomEvent( 'vtree-' + name, true, true, { id: id });
}
( this.getLeaf( id, name, true ) || this.tree )
.dispatchEvent( event );
return this;
},
Даже если такие вещи, как {test:'testtesttest'}
написаны внутри деталей, они всегда передают только id
в event.details
Я смотрю не в том месте?
Может ли функция события использовать только имя объекта (id
), а не его содержимое?