我正在使用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));
但它不起作用。有人可以帮帮我吗?
答案 0 :(得分:1)
$ tree.jstree()。on(“changed.jstree”,customCallback(event,target));
您正在做什么将customCallback
的结果设置为回调处理程序。
您想要做的事情将函数本身设置为回调处理程序:
var customCallback = function(event, target) {
// ...
};
$tree.jstree().on("changed.jstree", customCallback);
注意“缺失”括号 - 因为括号会调用该函数而我们不希望这样。
参数将自动传递给处理程序。