2012-02-10 3 views
4

Я хочу добавить новые объекты в DynatreeNode class. Например, в методах OnSelect я хочу использовать node.myproperty. Значение node.myproperty вычисляется из некоторого элемента DOM. Есть ли способ сделать это? Я попытался использовать расширение jQuery, но, похоже, это невозможно.Плагин jQuery Dynatree добавляет пользовательские свойства к узлу

ответ

0

это JavaScript, так что вы можете создать новый атрибут практически везде, просто назначив его ;-)

Для Dynatree, рекомендуемое место было бы в node.data объект, например,

node.data.foo = "bar"; 

обращаться к нему:

onSelect(node){ 
    if(node.data.foo !== undefined){ 
     alert(node.data.foo); 
    } 
} 
+0

А что, если свойство "Foo" должен быть доступен OnSelect, getNodeByKey, getActiveNode и т.д.? Как заставить все экземпляры узлов иметь свойство foo? – marcinn

+0

, если вы назначили его, он есть. В противном случае это 'undefined'. I Редактируйте образец – mar10

+0

mar10, пусть «foo» будет функцией, например node.data.foo = function() {return $ ("# someTextBox"). Val()}. Я хотел бы использовать свойство «foo» в нескольких контекстах, например, в onSelect, onActivate и т. Д. Узел должен иметь свойство «foo», которое всегда доступно не «undefined». – marcinn

Смежные вопросы