jquery事件的自定义回调

时间:2016-06-14 23:41:12

标签: javascript jquery

我正在使用jquery和jstree

每当我的树发生变化时,我都会触发一个事件:

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

它完美无缺。我可以访问“this”(树),还有事件和目标。但是,我正在尝试定义自定义回调。我试过这样的事情:

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 个答案:

答案 0 :(得分:1)

  

$ tree.jstree()。​​on(“changed.jstree”,customCallback(event,target));

正在做什么customCallback结果设置为回调处理程序。

您想要做的事情将函数本身设置为回调处理程序:

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

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

注意“缺失”括号 - 因为括号会调用该函数而我们不希望这样。

参数将自动传递给处理程序。