【问题标题】:how to distinguish expand vs click in fancytree?如何区分fancytree中的展开与点击?
【发布时间】:2014-04-23 23:31:20
【问题描述】:
>[\] Group
   >[\] Subgroup
      [] Item
      [] Item
      ...
   ...
...

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

我希望CLICKING 对组或子组表示:

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

我希望点击 > 仅暗示:

  • 展开点击的组/子组下的所有子组

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

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: 如果修改:真 缓存:真

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

filter:
    mode: 'hide'

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

如何正确进行检查:

event.originalEvent.target is 'fancytree-expander'

这不起作用。

【问题讨论】:

    标签: javascript coffeescript fancytree


    【解决方案1】:

    这解决了我的问题:

            tt = $.ui.fancytree.getEventTargetType(event.originalEvent)
            if tt isnt 'expander'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 2014-12-02
      • 1970-01-01
      相关资源
      最近更新 更多