jQuery MiniUI

 找回密码
 立即注册
查看: 7909|回复: 15
打印 上一主题 下一主题

3.0 tree.onload 不会触发 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2013-5-21 17:04:51 |只看该作者 |倒序浏览
3.0 tree.onload,tree.onpreload 不会触发
原本的代码在218下正常

Rank: 8Rank: 8

沙发
发表于 2013-5-21 17:18:28 |只看该作者
测试了,都是触发的

你去更新下最新的3.0呢,我记得之前修复过这个问题的

Rank: 3Rank: 3

板凳
发表于 2013-5-21 17:27:25 |只看该作者
factory 发表于 2013-5-21 17:18
测试了,都是触发的

你去更新下最新的3.0呢,我记得之前修复过这个问题的 ...

http://www.miniui.com/demo/#src=tree/lazytree.html
在这里加了代码没执行
  1.     function refreshNode() {
  2.         var tree = mini.get("tree1");
  3.         var node = tree.getSelectedNode();
  4.         if (node) {
  5.             tree.loadNode(node);
  6.         }
  7.     }
  8.                                 console.log(mini.get("tree1"));
  9.                         mini.get("tree1").on('preload',function(e){
  10.                                 console.log(1,e);
  11.                         });
  12.                         mini.get("tree1").on('load',function(e){
  13.                                 console.log(2,e);
  14.                         });
复制代码
原来用的218,更新后发现不执行了

Rank: 8Rank: 8

地板
发表于 2013-5-21 17:40:28 |只看该作者
paio 发表于 2013-5-21 17:27
http://www.miniui.com/demo/#src=tree/lazytree.html
在这里加了代码没执行原来用的218,更新后发现不执 ...

因为tree是同步加载的,如果你的url已经写好的话,你再on("load")是不触发的

1.你直接onload="aaa"

2.tree.on("load"..)
  tree.setUrl(...)

Rank: 3Rank: 3

5#
发表于 2013-5-21 17:43:41 |只看该作者
factory 发表于 2013-5-21 17:40
因为tree是同步加载的,如果你的url已经写好的话,你再on("load")是不触发的

1.你直接onload="aaa"

lazytree不是异步的吗,
就算是同步那第一次也应该执行的啊,
代码在2.1.8下是正常的,跟新了最新的才有这个问题

Rank: 8Rank: 8

6#
发表于 2013-5-21 17:44:45 |只看该作者
paio 发表于 2013-5-21 17:43
lazytree不是异步的吗,
就算是同步那第一次也应该执行的啊,
代码在2.1.8下是正常的,跟新了最新的才有 ...

同步的,你就按照我说的做吧

Rank: 3Rank: 3

7#
发表于 2013-5-21 18:27:39 |只看该作者
直接onload="aaa"是会执行一次,但是异步的不会执行。

感觉3.0的有问题,因为同样的代码在218是正常的,是不是有什么改动。

我现在需要异步加载触发onpreload事件,需要怎么处理。

Rank: 8Rank: 8

8#
发表于 2013-5-22 09:39:06 |只看该作者
paio 发表于 2013-5-21 18:27
直接onload="aaa"是会执行一次,但是异步的不会执行。

感觉3.0的有问题,因为同样的代码在218是正常的,是 ...

只能我上面说的做,或者你把setUrl()写在on("load")后面

Rank: 3Rank: 3

9#
发表于 2013-5-22 11:53:25 |只看该作者
factory 发表于 2013-5-22 09:39
只能我上面说的做,或者你把setUrl()写在on("load")后面

我是想在展开子节点的时候加载子节点数据,同时触发onpreload事件,不是onload

Rank: 8Rank: 8

10#
发表于 2013-5-22 13:10:13 |只看该作者
paio 发表于 2013-5-22 11:53
我是想在展开子节点的时候加载子节点数据,同时触发onpreload事件,不是onload ...

现在只能这样

要么你就写在属性上onpreload = ".."

要么就是先on("preload")
然后setUrl()

Archiver|普加软件

GMT+8, 2024-11-25 10:56 , Processed in 1.073599 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部