2016-06-14 5 views
0

Я работаю с JQuery и jstreeобратного вызова по событию Jquery

меня есть событие, которое вызывает каждый раз, когда мои изменения дерева:

$tree.jstree() 
    .on("changed.jstree", function(event, target) { 
     //manipulate data 
    }); 

Он работает идеально. Я могу получить доступ к «этому» (дереву), а также к событию и цели. Но я пытаюсь определить пользовательский обратный вызов. Я пытался что-то вроде этого:

window.customCallback = (function(event, target) { 
    //manipulate data 
    //$(this).foo() manipulates the tree 
    //event.type to access the event type 
    //target.node to access the node 
}(this)); 

Так что я могу использовать:

$tree.jstree() 
    .on("changed.jstree", customCallback(event, target)); 

Но это не работает. Может ли кто-нибудь помочь мне?

ответ

1

$ tree.jstree(). On ("changed.jstree", customCallback (событие, цель));

Что вы делаете настройка по результата из customCallback в качестве обработчика обратного вызова.

Что вы хотите сделать установлен непосредственно функцию обработчика:

var customCallback = function(event, target) { 
// ... 
}; 

$tree.jstree().on("changed.jstree", customCallback); 

Обратите внимание на «недостающие» скобки - потому что скобки будут вызывать функцию, и мы не хотим этого.

Параметры будут переданы обработчику автоматически.

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