Jquery Jstree复选框事件捕获

前端之家收集整理的这篇文章主要介绍了Jquery Jstree复选框事件捕获前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我完全是jQuery和jstree的新手.我正在使用jstree并使用xml填充数据.但是想要捕获每个节点的事件,无论是否检查它们的Ids.我尝试使用jstree的插件API,如change_state(),check_node()或select_node(),但它不工作.此外,我想获取所有选定的节点数据在一个数组进一步处理.可以帮助任何人吗?

谢谢…

@H_403_4@

解决方法

我喜欢jstree插件,但它没有很好的记录,也没有建立符合说,jquery ui插件开发的标准.我使用1.0rc2来完成你想要做的事情.

在实例化jstree之前,必须绑定“已加载”事件,所以我猜这是与“change_state”事件相同的.另外要注意的是,“change_state”不仅仅是一个复选框的更改.例如,当您展开节点(但由于某种原因而不会崩溃)时,它也将触发.也就是说,我在“change_state”处理程序中进行一些kludgey检查,以从复选框更改中尝试过滤掉不需要的事件.点击处理程序的最小代码

$("#treeElement").bind("change_state.jstree",function (e,d) {
    var tagName = d.args[0].tagName;
    var refreshing = d.inst.data.core.refreshing;
    if ((tagName == "A" || tagName == "INS") &&
      (refreshing != true && refreshing != "undefined")) {
    //if a checkBox or it's text was clicked,//and this is not due to a refresh or initial load,run this code . . .
    }
});

您点击的元素是d.rslt,您可以使用d.inst.get_checked()获取所检查项目,只需单击元素,或者使用d.inst.get_checked(d.rslt)查找包含所选子节点的对象.使用jquery的.each函数处理节点.

@H_403_4@ @H_403_4@

猜你在找的jQuery相关文章