作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 JQuery JsTree 插件中使用 ajax 加载子节点。如果我在网络浏览器中重新打开加载的节点,我需要刷新所有子节点。
最佳答案
您可以使用类似的方法,在关闭时将新类添加到节点,从而导致节点在打开时刷新。如果类(class)在场。因此,您可以删除 on close_node 部分,并为需要在打开时刷新的节点添加您自己的类名
$(function () {
var tree_id="#jstree"
var ajax_again="to-be-refreshed";
$(tree_id).bind("open_node.jstree close_node.jstree", function (e,data) {
var currentNode = data.args[0];
if(e.type === "close_node") {
currentNode.addClass(ajax_again);
}
if(e.type === "open_node") {
if (currentNode.hasClass(ajax_again)) {
var tree = $.jstree._reference(tree_id);
tree.refresh(currentNode);
}
}
}) .jstree({
或者当所有节点都在打开时刷新时,您可以使用简化版本
$(function () {
var tree_id="#jstree"
$(tree_id).bind("open_node.jstree close_node.jstree", function (e,data) {
var currentNode = data.args[0];
if(e.type === "open_node") {
var tree = $.jstree._reference(tree_id);
tree.refresh(currentNode);
}
}) .jstree({
关于jquery - 如何在 JsTree 中重新打开节点时刷新子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11030543/
我是一名优秀的程序员,十分优秀!