日期:2014-05-20  浏览次数:20781 次

怎么添加AsyncTreeNode子节点事件
<script type="text/javascript">
  Ext.onReady(function() 
  {
  var hello = function()
  {
  Ext.Msg.alert("ok","how are you?");
  }

  var leaf1 = new Ext.tree.AsyncTreeNode({
  text: "用户列表", 
  id:'user_list',
  editable: true,
  listeners : {click : hello},
  leaf: true
  });
  var leaf2 = new Ext.tree.AsyncTreeNode({
  text: "用户添加", 
  id:'add_input',
  leaf: true
  });
  root = new Ext.tree.AsyncTreeNode({
  text: "用户", 
  draggable:false,
  allowChildren: true,
  listeners : {click : hello},
  children:[leaf11,leaf12]
  });
  treePanel = new Ext.tree.TreePanel({
  animate:true,
autoScroll:true,
enableDD:true,
containerScroll: true,
border: false,
dropConfig: {appendOnly:true}
  });
  treePanel1.setRootNode(root1);
});
问题:这棵树产生的效果是这样的

  +用户
  -----用户列表
  -----用户添加
当单击用户根节点时,能执行hello方法,其属性href 也能成功导向url
但是当单击其子节点 用户列表或用户添加时,不能执行hello()方法,其属性href也失效。
EXT新手疑惑中,恳请高手帮助! 谢谢。



------解决方案--------------------
你只在root节点中定义了click事件,所以就这样了.
JScript code

treePanel1.on("click",function(){
alert("hello");
})