1
>[\] Group
   >[\] Subgroup
      [] Item
      [] Item
      ...
   ...
...

我有树样演示。[\]表示可选,而[]代表复选框,可以选中。

我希望CLICKING on Group 或 Subgroup 意味着:

  • 展开单击的组/子组下方的所有子项
  • 以下所有项目的选择(或第二次取消选择)

我希望单击>仅意味着:

  • 展开单击的组/子组下方的所有子项

我的代码现在看起来像这样:

createNode: (event, data) ->
    kind = data.node.data.k
    pk = data.node.data.i

    if objects?[pk]
        data.node.setSelected()

    if kind isnt 'c'
        $(data.node.li).find('span.fancytree-checkbox').remove()

beforeSelect: (event, data) ->
    if data.node.data.k isnt 'c'
        return false

    if data.node.isSelected() and data.node.parent.isSelected()
        return false
click: (event, data) ->
    data.node.visit (child) ->
        console.log data.node.data.k 
        child.makeVisible()
        if child.data.k is 'c'
            child.setSelected(data.node.selected)

和:

ajax:ifModified:真缓存:真

checkbox: true
selectMode: 2
debugLevel: 0
generateIds: false

filter:
    mode: 'hide'

现在我有点击“>”显示和隐藏下面的孩子的问题。

如何正确进行检查:

event.originalEvent.target is 'fancytree-expander'

这是行不通的。

4

1 回答 1

2

这解决了我的问题:

        tt = $.ui.fancytree.getEventTargetType(event.originalEvent)
        if tt isnt 'expander'
于 2014-04-23T15:31:20.677 回答