捕获树节点改变事件
Capture tree node changed event
我正在使用 jstree and would like to make some ajax calls when a node is selected. I do not want to trigger the ajax call if the same node is clicked again. The jstree example for listening events uses changed.jstree
如下:
$('#jstree')
// listen for event
.on('changed.jstree', function (e, data) {
//my custom code here that should trigger if a new node is selected
});
但是,如果我单击同一个节点两次,就会触发此操作。我在数据或事件对象 e 中找不到任何东西可以告诉我这是否与先前选择的节点相同。 jstree 中有什么可以帮助我解决这个问题吗?如果不是,解决这个问题的最佳方法是什么?
我发现我们可以使用更改的插件来确定选择和取消选择 nodes.It 显示的第一个插件 here
创建 jstree 并在插件数组中包含 changed:
$('#jstree').jstree(
{
"core": {
"multiple": false,
// so that create works
"check_callback": true,
"data": menu
},
"plugins": ["changed"]
}
);
如果选中和取消选中的数组都是空的,表示选择没有改变:
$('#jstree').on('changed.jstree', function (e, data) {
if (!(data.changed.selected.length === 0 && data.changed.deselected.length === 0))
{
//This is when something is really changed.
});
我正在使用 jstree and would like to make some ajax calls when a node is selected. I do not want to trigger the ajax call if the same node is clicked again. The jstree example for listening events uses changed.jstree 如下:
$('#jstree')
// listen for event
.on('changed.jstree', function (e, data) {
//my custom code here that should trigger if a new node is selected
});
但是,如果我单击同一个节点两次,就会触发此操作。我在数据或事件对象 e 中找不到任何东西可以告诉我这是否与先前选择的节点相同。 jstree 中有什么可以帮助我解决这个问题吗?如果不是,解决这个问题的最佳方法是什么?
我发现我们可以使用更改的插件来确定选择和取消选择 nodes.It 显示的第一个插件 here
创建 jstree 并在插件数组中包含 changed:
$('#jstree').jstree(
{
"core": {
"multiple": false,
// so that create works
"check_callback": true,
"data": menu
},
"plugins": ["changed"]
}
);
如果选中和取消选中的数组都是空的,表示选择没有改变:
$('#jstree').on('changed.jstree', function (e, data) {
if (!(data.changed.selected.length === 0 && data.changed.deselected.length === 0))
{
//This is when something is really changed.
});