javascript – 点击jstree上的更改图标

我有使用jstree插件代码.

$(".gems-tree").on('changed.jstree',function( event,data ){
  console.log("folder clicked");
});

它的工作原理,但现在我想将文件夹中的图标更改为关闭打开,是否有办法实现这一目标?

注意

已经尝试使用data.node.state.opened = true来查看文件夹图标是否发生了变化.

最佳答案
如果您需要更改每个所选节点的图标,Adnan Y的答案将起作用(只需确保data.action为“select_node”):

$("#jstree2").on('changed.jstree',function(evt,data) {
  if(data.action === "select_node") {
    data.instance.set_icon(data.node,'http://jstree.com/tree-icon.png');
  }
});

如果您需要对节点打开和关闭做出反应,请使用类似的代码

$("#jstree2")
  .on('open_node.jstree',data) {
    data.instance.set_icon(data.node,'http://jstree.com/tree-icon.png');
  })
  .on('close_node.jstree',true);
  });

在第二个示例中,图标设置为true – 这会将其恢复为认图标(如果这是您需要的).

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效