【发布时间】:2015-05-06 12:38:08
【问题描述】:
我正在使用网格和复选框插件实现 jsTree。一切正常,但如果我设置 jsTree a_attr.href,那么它与 checkbox 事件冲突。
所以当我点击节点时 - 它应该跟随链接,如果我点击复选框 - 它应该被标记。我做错了什么?
我创建了jsFiddle。但在这个小提琴href 链接属性不起作用。
谢谢!
【问题讨论】:
标签: jstree
我正在使用网格和复选框插件实现 jsTree。一切正常,但如果我设置 jsTree a_attr.href,那么它与 checkbox 事件冲突。
所以当我点击节点时 - 它应该跟随链接,如果我点击复选框 - 它应该被标记。我做错了什么?
我创建了jsFiddle。但在这个小提琴href 链接属性不起作用。
谢谢!
【问题讨论】:
标签: jstree
jsTree 永远不会跟随链接,您必须手动重定向用户。要实现这一点,您需要解耦选择和复选框,以便检查节点不会选择节点。这是一个演示:http://jsfiddle.net/dhskgky0/3/
关键是复选框配置:
checkbox: {
//keep_selected_style:false,
tie_selection : false,
whole_node : false
},
请记住,您必须使用较新的版本(此演示使用 3.1.0),因为 tie_selection 选项在您使用的 v.3.0.2 中不可用。
【讨论】:
activate_node 事件时,在检查时它也会跟随链接。请看小提琴jsfiddle.net/Testertestx/dhskgky0/5
activate_node.jstree?这是一个不同的事件,select_node.jstree(在原始演示中)是您需要的,如果您想捕获由用户交互触发的选择事件,只需检查事件的 data.event 属性。
select_node.jstree 事件在没有用户交互的情况下触发。这就是我使用activate_node.jstree 的原因
select_node.jstree 的原始解决方案,只需检查 if(data.event) { :jsfiddle.net/dhskgky0/6