发新话题
打印

CakePHP的Ajax助手如何设置类似window.onload事件

CakePHP的Ajax助手如何设置类似window.onload事件

作者:老王

查看Ajax助手源代码,似乎找不到一个设置类似window.onload功能的地方,常用的$ajax->link()方法在这里显然是不合适的,实际上是有这样的方法的,因为Ajax助手中包含了Javascript助手,所以,类似的代码大致如下:
复制内容到剪贴板
代码:
<?php
echo $ajax->Javascript->event(
         'window',
         'load',
         $ajax->remoteFunction(
             array(
                 'update'     => 'menu',
                 'loading'    => 'Element.hide("menu");Element.show("loading")',
                 'complete'   => 'Element.hide("loading");Effect.Appear("menu")',
                 'url'        => '/controller/action'
             )
         )
);
?>

TOP

为什么要搞得这么复杂呢?script.aculo.us是基于prototype.js的,在prototype里面有Event.observe功能,可以做很多事情。

比如:
Event.observe(window, 'load', funcA, false);
Event.observe(window, 'unload', Event.unloadCache, false);
function funcA() {
//在这里ajax调用不就结了?
}

TOP

发新话题