prototype终结篇
来源:互联网 发布:数据统计网站 编辑:程序博客网 时间:2024/06/05 00:35
1.1 Dom的扩展
document.getElementsByClassName(className, parentElement)返回所有CSS className属性等于className参数的元素,如果没有给出parentElement.那么将搜索document body(注意这个函数返回的是数组).
Element的扩展,大部分都是对css的操作,个人认为没有什么意思,不过有一点要注意的是设置class属性的时候,ie和其他浏览器有区别,所以className[ie],class[其他浏览器]属性两个都要设。
Insertion.Before(node,content)
Insertion.After
这两个函数是往node的同级节点里头插入。
Insertion.Top
Insertion.Bottom
这两个函数往node的字节点中插入。
这四个完全可以做成类变量,而prototype把它做成实例变量,很纳闷,调用极其部方便(new Insertion.Top(node,content));
1.2 Event
<script>
Event.observe(window, 'load', showMessage, false);
function showMessage() {
alert('Page loaded.');
}
</script>
observe(element, name, observer, useCapture)
stopObserving(element, name, observer, useCapture)
1.3 Form
1.3.1 Field类
Filed类的方法都是类变量,直接Field.fun()调用
Filed.clear()
Fileld. Focus();
Fileld.select();
缺少Field.check();
1.3.2 Form类
调用方法Form.fun();
Method
Kind
Description
serialize(form)
instance
返回url参数格式的项目名和值的列表, 如'field1=value1&field2=value2&field3=value3'。
findFirstElement(form)
instance
返回Form中第一个Enable的对象。
getElements(form)
instance
返回包含所有在表单中输入项目的 Array 对象。
getInputs(form [, typeName [, name]])
instance
返回一个 Array 包含所有在表单中的 <input> 元素。 另外, 这个列表可以对元素的类型或名字属性进行过滤。
disable(form)
instance
使表单中的所有输入项目无效。
enable(form)
instance
使表单中的所有输入项目有效。
focusFirstElement(form)
instance
激活第一个表单中可视的,有效的输入项目。
reset(form)
instance
重置表单。和调用表单对象的 reset() 方法一样。
接下来是两个监视类,看下面例子:
<script>
function fff()
{
var t=new Form.Element.Observer($('aaa'),1,change);//1秒监视一次
}
function change()
{
alert('aaa changed');
}
</script>
<form id="ccc">
<input name="aaa" value="aaa" />
<input name="bbb" value="aaa" />
<input type="button" value="aaa" onclick="fff()" />
</form>
Form.Element.Observer监听表单元素值发生变化
Form.Observer监听整个表单
Form.Element.EventObserver
Form.EventObserver
这两个类同上面两个区别是,当发生onchang(text,password等)事件或者onclick(radio checkbox)事件时产生回掉。
1.4 AJAX
先举一个例子:
<script>
function searchSales()
{
var empID = $F('lstEmployees');
var y = $F('lstYears');
var url = 'http://yoursever/app/get_sales';
var pars = 'empID=' + empID + '&year=' + y;
var myAjax = new Ajax.Request(
url,
{
method: 'get',
parameters: pars,
onComplete: showResponse
});
}
function showResponse(originalRequest)
{
//put returned XML in the textarea
$('result').value = originalRequest.responseText;
}
</script>
<select id="lstEmployees" size="10" onchange="searchSales()">
<option value="5">Buchanan, Steven</option>
<option value="8">Callahan, Laura</option>
<option value="1">Davolio, Nancy</option>
</select>
<select id="lstYears" size="3" onchange="searchSales()">
<option selected="selected" value="1996">1996</option>
<option value="1997">1997</option>
<option value="1998">1998</option>
</select>
<br><textarea id=result cols=60 rows=10 ></textarea>
然后搞懂Ajax.Request的几个参数就行了。
Property
Type
Default
Description
method
String
'post'
HTTP 请求方式。
parameters
String
''
在HTTP请求中传入的url格式的值列表。
asynchronous
Boolean
true
指定是否做异步 AJAX 请求。
postBody
String
undefined
在HTTP POST的情况下,传入请求体中的内容。
requestHeaders
Array
undefined
和请求一起被传入的HTTP头部列表, 这个列表必须含有偶数个项目, 任何奇数项目是自定义的头部的名称, 接下来的偶数项目使这个头部项目的字符串值。 例子:['my-header1', 'this is the value', 'my-other-header', 'another value']
onXXXXXXXX
Function(XMLHttpRequest, Object)
undefined
在AJAX请求中,当相应的事件/状态形成的时候调用的自定义方法。 例如 var myOpts = {onComplete: showResponse, onLoaded: registerLoaded};. 这个方法将被传入一个参数, 这个参数是承载AJAX操作的 XMLHttpRequest 对象,另一个是包含被执行X-JSON响应HTTP头。
onSuccess
Function(XMLHttpRequest, Object)
undefined
当AJAX请求成功完成的时候调用的自定义方法。 这个方法将被传入一个参数, 这个参数是承载AJAX操作的 XMLHttpRequest 对象,另一个是包含被执行X-JSON响应HTTP头。
onFailure
Function(XMLHttpRequest, Object)
undefined
当AJAX请求完成但出现错误的时候调用的自定义方法。这个方法将被传入一个参数, 这个参数是承载AJAX操作的 XMLHttpRequest 对象,另一个是包含被执行X-JSON响应HTTP头。
onException
Function(Ajax.Request, exception)
undefined
当一个在客户端执行的Ajax发生像无效响应或无效参数这样的异常情况时被调用的自定义函数。它收到两个参数,包含异常Ajax操作的Ajax.Request对象和异常对象。
insertion
an Insertion class
undefined
一个能决定怎么样插入新内容的类,能 Insertion.Before, Insertion.Top, Insertion.Bottom, 或 Insertion.After. 只能应用于Ajax.Updater 对象.
evalScripts
Boolean
undefined, false
决定当响应到达的时候是否执行其中的脚本块,只在 Ajax.Updater 对象中应用。
decay
Number
undefined, 1
决定当最后一次响应和前一次响应相同时在 Ajax.PeriodicalUpdater 对象中的减漫访问的次数, 例如,如果设为2,后来的刷新和之前的结果一样, 这个对象将等待2个设定的时间间隔进行下一次刷新, 如果又一次一样, 那么将等待4次,等等。 不设定这个只,或者设置为1,将避免访问频率变慢。
frequency
Number
undefined, 2
用秒表示的刷新间的间隔,只能应用于 Ajax.PeriodicalUpdater 对象。
Ajax.update类个人觉得没有什么意义
- prototype终结篇
- 数学建模终结篇
- error:LNK2005终结篇
- 话说“三字经”终结篇
- OSD终结篇
- 《蝙蝠侠》终结篇
- CListCtrl终结篇
- 北漂周记--终结篇
- ajax终结篇
- LFS终结篇,总结
- 字符编码终结篇
- 感想之终结篇
- VB回忆录终结篇
- 高效CSDNBLOG技巧终结篇
- 高效CSDNBLOG技巧终结篇
- 高效CSDNBLOG技巧终结篇
- 高效CSDNBLOG技巧终结篇
- 高效CSDNBLOG技巧终结篇
- 推荐:移动商务之人机互动与跨异质接口研究
- prototype学习笔记(4)
- 谴责一下南航的网站
- DirectX:参与网络游戏所需的端口
- 移动互联网大潮中,百度已经落后了
- prototype终结篇
- 醒醒吧,问“什么是4G”的所谓专家
- 电信行业发展中,所谓专家们的若干失误
- ASP [a-zA-Z0-9]无错N长度随机数函数 By shawl.qiu
- 移动信息化宣传常见误区
- 机器人
- 美国的4G,韩国的技术,高通的落魄
- 移动商务,还是短信商务?
- Eclipse插件安装