搞不懂CCaptcha中的一句

$cs->registerScript('Yii.CCaptcha#'.$id,'dummy');

如果没有这句点击连接的时候就跳转到页面的顶部。

加上这句就没事。

但是在查看html代码的时候没有发现什么不同。

不知道这是在哪里处理的?

还有Yii.CCaptcha表示什么?

怎么确定自己的id?是随便起的吗?

还有,如果没有这句的话

生成的js代码就是错误的,会先输出.click(…)然后才是.after(…),为什么?

你看得很仔细。这是一个小trick,主要目的是在注册的javascript里先占个位置,因为接下去的CHtml::$button()有可能注册新的js。后者在js执行时是依赖前者的。你看函数的最后一句又覆盖了刚刚注册的js.