symfony 框架中绑定了 Prototype 文件,在每个项目的 web/sf/prototype 目录
中可以找到它的文件。这样只要在你的 action 中增加下列代码就可以使用
Prototype:
$prototypeDir = sfConfig::get('sf_prototype_web_dir');
$this->getResponse()->addJavascript($prototypeDir.'/js/prototype');
或者在 view.yml 文件中加入:
all:
javascripts: [%SF_PROTOTYPE_WEB_DIR%/js/prototype]
NOTE 因为 symfony Ajax 辅助函数(下一节介绍)需要用到 Prototype,所以只
要你用到 Prototype 库,它就会自动被包含进来。也就是说,如果你的模板调
用一个_remote 辅助函数,你无需在你的响应里手工添加 Prototype
Javascript。
一旦你载入了 Prototype 库,就可以利用它为 javascript 核心增加的新函数。
本书的主要目的不是讲述这些函数,你可以很容易在互联网上找到所需的文档,
以下是几个有关的网站:
• Particletree: http://particletree.com/features/quick-guide-to-
prototype/
• Sergio Pereira:
http://www.sergiopereira.com/articles/prototype.js.html
• Script.aculo.us:
http://wiki.script.aculo.us/scriptaculous/show/Prototype
Prototype 新增的 Javascript 函数之一是$()函数。简单地说,这个函数可以看
成是 document.getElementById()函数的缩写,但它有更强的功能。例 11-7 给
出了一个应用的例子。
例 11-7 利用$()函数根据 DOM 的元素 ID 取得元素值。
node = $('elementID');
// 相当于
node = document.getElementById('elementID');
// 也可以一次检索多个元素
// 在本例中返回值是一个由 DOM 元素组成的数组。
nodes = $('firstDiv', 'secondDiv');