dynatree onClick回调函数有哪些参数?

时间:2013-02-17 09:03:57

标签: dynatree jquery-dynatree

我正在查看dynatree documentation,它表明onClick回调函数传递了两个参数:node&事件。这些参数究竟是什么?我假设“node”参数的类型为DynaTreeNode。

我正在寻找的是在为<a>元素调用onClick回调时获取与节点关联的元素的引用。我知道在这种情况下,node.data.href将等于<a>元素的href,node.getEventTargetType(event)将返回“title”。 <a>元素将具有“dynatree-title”类。我实际上正在寻找对<span>元素之前的<a>标记的引用。它将拥有“dynatree-expander”类。如果我可以获得<a>元素的引用,我可以使用jQuery .prev()方法获取<span>

我需要在onClick回调中执行条件登录,因为<a>元素前面有一个<span class="dynatree-expander">元素。

修改

由于以下帖子,我一直关注“node”参数。他们表明它可能具有文档中未列出的属性。但是,我相信“event”参数可能与jQuery on-click处理程序的“event”参数相同。因此,我应该使用event.target。我会试验看看是否有效。

以下是显示“node”参数的帖子,其中包含未记录的属性:

  1. This post显示node.span的{​​{1}}。
  2. This post显示onActivate的{​​{1}}。
  3. This postnode.span显示onPostInitnode.spannode.ul
  4. 但后来我看到this post显示使用了node.li

1 个答案:

答案 0 :(得分:0)

“node”参数绝对是dynatree documentation中列出的DynaTreeNode类型。我查看了它的属性,并记录了DynaTreeNode记录的所有属性。它的原型是空的;这些属性都直接在对象上。

“节点”上有一些未在文档中列出的属性。一些属性名称以下划线开头,因此绝对不应使用它们,但其他属性则不然。未记录的属性列表包括“ul”,“li”和“span”。其他值得注意的是“childList”,“parent”和“tree”。虽然DynaTreeNode类型未列出“树”,但文档中的几个示例显示了它的用法。

“node.span”元素是<span>,它围绕展开器图标的<span>和包含标题的<a>。 “node.li”元素是围绕“node.span”引用的<li>的{​​{1}}。我原以为“node.ul”会引用周围的<span>元素,但对我来说它总是空的。

“node”参数中未记录的一些函数是“append”,“collapseSiblings”,“fromDict”和“removeChild”。

“event”参数似乎确实是一个jQuery事件参数,因此<ul>可以很好地获取被点击的元素。