1
我想在用戶每次打開節點時強制執行ajax調用,即不緩存。一個小小的Google提示在用戶關閉後刪除一個節點的子節點。看起來很簡單,但我不能讓它工作。
在下面的代碼中,after_close事件實際上是被觸發的,但是三個刪除子節點的語句似乎沒有效果。我得出這樣的結論,因爲當節點第一次打開時,我觀察到fiddler中的初始ajax調用,但關閉節點並重新打開節點不會生成調用。 備註: 我使用隨機數參數來防止在瀏覽器上緩存。 我已經設置'check_callback'標誌每the documentation。從jstree節點清除緩存
// load the tree
$('#tree').jstree({
'core': {
"themes": { "theme": "classic", "dots": false, "icons": false },
'html_titles': true,
'load_open': true,
'data': {
'url': 'GetChildNodes/',
'data': function (node) {
return { 'id': node.id === '#' ? '0_0' : node.id, 'noCache': Math.random() };
}
},
'check_callback': function() { return true; }
},
"plugins": ["themes", "ui"]
});
// Handles tree view links so that the tree view does not intercept the event.
$("#tree").delegate("a", "click", function (e) {
if ($("#tree").jstree("is_leaf", this)) {
document.location.href = this;
}
else {
$("#tree").jstree("toggle_node", this);
}
});
$('#tree').on('after_close.jstree', function (e, data) {
var tree = $('#tree').jstree(true);
var children = tree.get_children_dom(data);
tree.delete_node(children);
});