extend(destination, source)
static
destination: any object, source: any object
提供一种通过拷贝所有源以象属性和函数到目标函数实现继承的方法
inspect(targetObj)
static
targetObj: any object
返回可读性好关于目标对象的文字描述,如果对象实例没有定义一个inspect函数,默认返回toString函数的值。
对Number的扩展
Method
Kind
Arguments
Description
toColorPart()
instance
(none)
返回数字的十六进制表示形式。在把一个RGB数字转换成HTML表现形式时很有用。
succ()
instance
(none)
返回下一个数字,这个方法可用于迭代调用场景中。
times(iterator)
instance
iterator: a function object conforming to Function(index)
Calls the iterator function repeatedly passing the current index in the index argument. 反复调用iterator函数并传递当前index到iterator的index参数。
下面的例子用提示框显示0-9。
对 Function扩展
Method
Kind
Arguments
Description
bind(object)
instance
object: the object that owns the method
返回function的实例,这个实例和源function的结构一样,但是它已被绑定给了参数中提供的object,就是说,function中的this指针指向参数object。
bindAsEventListener(object)
instance
object: the object that owns the method
用法和上面的bind一样,区别在于用来绑定事件。
[ctor](callback, interval)
constructor
callback: a parameterless function, interval: number of seconds
创建这个对象的实例将会重复调用给定的方法。
Property
Type
Description
callback
Function()
被调用的方法,该方法不能传入参数。
frequency
Number
以秒为单位的间隔。
currentlyExecuting
Boolean
表示这个方法是否正在执行。
The Prototype object
Prototype 没有太重要的作用,只是声明了该程序包的版本 。
Property
Type
Description
Version
String
版本。
emptyFunction
Function()
空函数。
K
Function(obj)
一个仅仅回传参数的函数。
ScriptFragment
String
识别script的正则式。
The Enumerable object
Enumberable对象能够已更优雅的方式实现对列表样式的结构进行枚举。
很多其它的对象通过扩展自Enumberable对象来得到这些有用的接口。
Method
Kind
Arguments
Description
each(iterator)
instance
iterator: a function object conforming to Function(value, index)
把每个element做为第一个参数,element的index作为第一个参数调用iterator函数。
all([iterator])
instance
iterator: a function object conforming to Function(value, index)
这个函数会用给出的iterator测试整个集合,如果集合中任一元素在iterator函数测试中返回false或null,那么这个函数返回false,否则返回true。如果没有给出iterator,那么就会测试所有的元素是不是不等于false和null。你可以简单的把它看成是“检测每个元素都为非空非负”。
any(iterator)
instance
iterator: a function object conforming to Function(value, index), optional.
这个函数会用给出的iterator测试整个集合,如果集合中任一元素在iterator函数测试中返回true,那么这个函数返回true,否则返回false。如果没有给出iterator,那么就会测试所有的元素是不是有一个不等于false和null。你可以简单的把它看成是“检测元素中是不是有非空非负的”。
collect(iterator)
instance
iterator: a function object conforming to Function(value, index)
调用iterator函数根据集合中每个元素返回一个结果,然后按照原来集合中的顺序,返回一个Array。
detect(iterator)
instance
iterator: a function object conforming to Function(value, index)
集合中每个元素调用一次Iterator,返回第一个使Iterator返回True的元素,如果最终都没有为true的调用,那么返回null。
entries()
instance
(none)
等于toArray().
find(iterator)
instance
iterator: a function object conforming to Function(value, index)
等于 detect().
findAll(iterator)
instance
iterator: a function object conforming to Function(value, index)
集合中每个元素调用Iterator,返回一个由所有调用Iterator返回结果等于true的元素组成的数组。和reject()相反。
grep(pattern [, iterator])
instance
pattern: a RegExp object used to match the elements, iterator: a function object conforming to Function(value, index)
用pattern参数正则表达式测试集合中的每个元素,返回一个包含所有匹配正则式的元素的Array,如果给出了Iterator,那个每个结果还要经过一下Iterator处理。
include(obj)
instance
obj: any object
判断集合中包不包含指定对象。
inject(initialValue, iterator)
instance
initialValue: any object to be used as the initial value, iterator: a function object conforming to Function(accumulator, value, index)
用Iterator联接所有集合中的元素。Iterator在被调用时把上一次迭代的结果做为第一个参数传给accumulator。第一次迭代时,accurmelator等于initialValue,最后返回accumulator的值。
invoke(methodName [, arg1 [, arg2 [...]]])
instance
methodName: name of the method that will be called in each element, arg1..argN: arguments that will be passed in the method invocation.
集合中的每个元素调用指定的函数(查看源代码可以发现指定函数被调用时,this指针被传成当前元素),并传入给出的参数,返回调用结果组成的Array。
map(iterator)
instance
iterator: a function object conforming to Function(value, index)
同collect().
max([iterator])
instance
iterator: a function object conforming to Function(value, index)
返回集合中元素的最大值,或调用Iterator后返回值的最大值(如果给出了Iterator的话)。
member(obj)
instance
obj: any object
同 include().
min([iterator])
instance
iterator: a function object conforming to Function(value, index)
返回最小值,参见max()。
partition([iterator])
instance
iterator: a function object conforming to Function(value, index)
返回一个包含两个Array的Array,第一个Array包含所有调用Iterator返回True的元素,第二个Array包含剩下的元素。如果Iterator没有给出,那么就根据元素本身判断。
pluck(propertyName)
instance
propertyName name of the property that will be read from each element. This can also contain the index of the element
返回每个元素的指定属性名的属性的值组成的Array。
reject(iterator)
instance
iterator: a function object conforming to Function(value, index)
和 findAll()相反(返回所有等于false的元素).
select(iterator)
instance
iterator: a function object conforming to Function(value, index)
同 findAll().
sortBy(iterator)
instance
iterator: a function object conforming to Function(value, index)
根据每个元素调用Iterator返回的值进行排序返回一个Array。
toArray()
instance
(none)
返回由集合所有元素组成的一个Array。
zip(collection1[, collection2 [, ... collectionN [,transform]]])
instance
collection1 .. collectionN: enumerations that will be merged, transform: a function object conforming to Function(value, index)
合并每个给出的集合到当前集合。合并操作返回一个新的array,这个array的元素个数和原集合的元素个数一样,这个array的每个元素又是一个子array,它合并了所有集合中相同index的元素。如果transform函数被指定,那么array的每个元素还会调用transform函数先做处理。举个例子: [1,2,3].zip([4,5,6], [7,8,9]).inspect()返回 "[ [1,4,7],[2,5,8],[3,6,9] ]"
end
(any)
instance
range的上边界
exclusive
Boolean
instance
决定边界自身是不是range的一部分。
Method
Kind
Arguments
Description
[ctor](start, end, exclusive)
constructor
start: the lower bound, end: the upper bound, exclusive: include the bounds in the range?
创建一个range对象,从start生成到end,这里要注意的是,start和end必段类型一致,而且该类型要有succ()方法。
include(searchedValue)
instance
searchedValue: value that we are looking for
检查一个value是不是在range中。
The Class object
在这个程序包中 Class 对象在声明其他的类时候被用到 。用这个对象声明类使得新类支持 initialize() 方法,他起构造方法的作用。
看下面的例子
//declaring the class var MySampleClass = Class.create();
//defining the rest of the class implmentation MySampleClass.prototype = {
register(responderToAdd)
instance
responderToAdd: object with methods that will be called.
被传入参数的对象应包含名如Ajax事件的系列方法(如onCreate,onComplete,onException)。通讯事件引发所有被注册的对象的合适名称的函数被调用。
unregister(responderToRemove)
instance
responderToRemove: object to be removed from the list.
从列表中移除。
dispatch(callback, request, transport, json)
instance
callback: name of the AJAX event being reported, request: the Ajax.Request object responsible for the event, transport: the XMLHttpRequest object that carried (or is carrying) the AJAX call, json: the X-JSON header of the response (if present)
遍历被注册的对象列表,找出有由callback参数决定的那个函数的对象。然后向这些函数传递其它的三个参数,如果Ajax响应中包含一个含有JSON内容的X-JSON HTTP头,那么它会被热行并传入json参数。如果事件是onException,那么transport参数会被异常代替,json不会传递。
[ctor](url, options)
constructor
url: the url to be fetched, options: AJAX options
创建这个对象的一个实例,它将在给定的选项下请求url。onCreate事件在调用constructor事被激发。 重要: 如果选择的url受到浏览器的安全设置,他会一点作用也不起。 很多情况下,浏览器不会请求与当前页面不同主机(域名)的url。 你最好只使用本地url来避免限制用户配置他们的浏览器(谢谢Clay)
evalJSON()
instance
(none)
这个方法显然不会被外部调用。它在Ajax响应中含有X-JSONHTTP头时用于内部调用执行这些内容。
evalReponse()
instance
(none)
这也方法显然不会被外部调用,如果Ajax响应含有一个值为text/javascript的Cotent-Type头,那么这个方法就用被调用执行响应体。
header(name)
instance
name: HTTP header name
引用Ajax响应的头的内容,在Ajax访问结束后再调用这个方法。
onStateChange()
instance
(none)
这个方法通常不会被外部调用。 当AJAX请求状态改变的时候被这个对象自己调用。
request(url)
instance
url: url for the AJAX call
这个方法通常不会被外部调用。已经在构造方法中调用了。
respondToReadyState(readyState)
instance
readyState: state number (1 to 4)
这个方法通常不会被外部调用。 当AJAX请求状态改变的时候被这个对象自己调用。
setRequestHeaders()
instance
(none)
这个方法通常不会被外部调用。 被这个对象自己调用来配置在HTTP请求要发送的HTTP报头。
The options argument object
An important part of the AJAX operations is the options argument. There's no options class per se. Any object can be passed, as long as it has the expected properties. It is common to create anonymous objects just for the AJAX calls.
[ctor](container, url, options)
constructor
container:this can be the id of an element, the element object itself, or an object with two properties - object.success element (or id) that will be used when the AJAX call succeeds, and object.failure element (or id) that will be used otherwise. url: the url to be fetched, options: AJAX options
创建一个用给定的选项请求给定的url的一个实例。
updateContent()
instance
(none)
这个方法通常不会被外部调用。 当响应到达的时候,被这个对象自己调用。 它会用HTML更新适当的元素或者调用在 insertion 选项中传入的方法-这个方法将被传入两个参数, 被更新的元素和响应文本。
container
Object
instance
这个值将直接传入Ajax.Updater的构造方法。
url
String
instance
这个值将直接传入Ajax.Updater的构造方法。
frequency
Number
instance
两次刷新之间的间隔 (不是频率) ,以秒为单位。 默认2秒。 This 当调用 Ajax.Updater 对象的时候,这个数将和当前的 decay 相乘。
decay
Number
instance
重负执行任务的时候保持的衰败水平。
updater
Ajax.Updater
instance
最后一次使用的 Ajax.Updater 对象
timer
Object
instance
通知对象该下一次更新时用到的JavaScript 计时器。
Method
Kind
Arguments
Description
[ctor](container, url, options)
constructor
container:this can be the id of an element, the element object itself, or an object with two properties - object.success element (or id) that will be used when the AJAX call succeeds, and object.failure element (or id) that will be used otherwise. url: the url to be fetched, options: AJAX options
创建一个用给定的选项请求给定的url的一个实例。
start()
instance
(none)
这个方法通常不会被外部调用。 对象为了开始周期性执行任务的时候调用的方法。
stop()
instance
(none)
使对象停止执行周期任务。停止后,如果有onComplete选项,那么引发callback。
updateComplete()
instance
(none)
这个方法通常不会被外部调用。 被当前的 Ajax.Updater 使用,当一次请求结束的时候,它被用作计划下一次请求。
onTimerEvent()
instance
(none)
这个方法通常不会被外部调用。当到下一次更新时被内部调用。
The Element object
这个对象提供在操作DOM中元素时使用的功能性方法。
Method
Kind
Arguments
Description
addClassName(element, className)
instance
element: element object or id, className: name of a CSS class
将给出的className添加到对象的className属性中。
classNames(element)
instance
element: element object or id
返回一个Element.ClassName的对象表示CSS 给出对象有的class names。
cleanWhitespace(element)
instance
element: element object or id
清除对象子元素中所有空白的text node。
empty(element)
instance
element: element object or id
返回一个布尔值指示对象为空或只有空白字符。
getDimensions(element)
instance
element: element object or id
返回对象的尺寸,返回值有两个属性,height和width。
getHeight(element)
instance
element: element object or id
返回元素的 offsetHeight 。
getStyle(element, cssProperty)
instance
element: element object or id, cssProperty name of a CSS property (either format 'prop-name' or 'propName' works).
返回给定对象的CSS属性值或没有指定cssProperty时返回null。
hasClassName(element, className)
instance
element: element object or id, className: name of a CSS class
返回 true 如果元素的类名中含有给定的类名
hide(elem1 [, elem2 [, elem3 [...]]])
instance
elemN: element object or id
通过设定style.display 为 'none'来隐藏每个传入的元素。
makeClipping(element)
instance
element: element object or id
能过设定overflow的值设定内容溢出剪辑。
makePositioned(element)
instance
element: element object or id
更改对象的style.position为'relative'。
remove(element)
instance
element: element object or id
从document对象中删除指定的元素。
removeClassName(element, className)
instance
element: element object or id, className: name of a CSS class
从元素的类名中删除给定的类名。
scrollTo(element)
instance
element: element object or id
滚动window到对象的位置。
setStyle(element, cssPropertyHash)
instance
element: element object or id, cssPropertyHash Hash object with the styles to be applied.
依照cssPropertyHash参数给对象设置CSS属性值。
show(elem1 [, elem2 [, elem3 [...]]])
instance
elemN: element object or id
用设定它的 style.display 为 ''来显示每个传入的元素。
toggle(elem1 [, elem2 [, elem3 [...]]])
instance
elemN: element object or id
切换每一个传入元素的可视性。
undoClipping(element)
instance
element: element object or id
style.overflow的值返回上一个设定值。
undoPositioned(element)
instance
element: element object or id
清除对象的 style.position 为 ''
update(element, html)
instance
element: element object or id, html: html content
用给出的HTML参数替换对象的innerHTML,如果HTML参数中包含
将把 HTML 变为
Hello, Chief Wiggum. How's it going?
The Insertion.Top class
继承自 Abstract.Insertion
在给定元素第一个子节点位置插入 HTML。内容将位于元素的开始标记的紧后面。
Method
Kind
Arguments
Description
[ctor](element, content)
constructor
element: element object or id, content: HTML to be inserted
继承自Abstract.Insertion. 创建一个可以帮助插入动态内容的对象。
下面的代码
Hello, Wiggum. How's it going?
将把 HTML 变为
Hello, Mr. Wiggum. How's it going?
The Insertion.Bottom class
Inherits from Abstract.Insertion
在给定元素最后一个子节点位置插入 HTML。内容将位于元素的结束标记的紧前面。
Method
Kind
Arguments
Description
[ctor](element, content)
constructor
element: element object or id, content: HTML to be inserted
Inherited from Abstract.Insertion. Creates an object that will help with dynamic content insertion.
The following code
Hello, Wiggum. How's it going?
Will change the HTML to
Hello, Wiggum. How's it going? What's up?
The Insertion.After class
Inherits from Abstract.Insertion
在给定元素结束标记的后面插入HTML。
Method
Kind
Arguments
Description
[ctor](element, content)
constructor
element: element object or id, content: HTML to be inserted
Inherited from Abstract.Insertion. Creates an object that will help with dynamic content insertion.
The following code
Hello, Wiggum. How's it going?
Will change the HTML to
Hello, Wiggum. How's it going? Are you there?
The Field object
这个对象提供操作表单中的输入项目的功能性方法。
Method
Kind
Arguments
Description
clear(field1 [, field2 [, field3 [...]]])
instance
fieldN: field element object or id
清除传入表单中项目元素的值。
present(field1 [, field2 [, field3 [...]]])
instance
fieldN: field element object or id
只有在所有的表单项目都不为空时返回 true 。
focus(field)
instance
field: field element object or id
移动焦点到给定的表单项目。
select(field)
instance
field: field element object or id
选择支持项目值选择的表单项目的值。
activate(field)
instance
field: field element object or id
移动焦点并且选择支持项目值选择的表单项目的值。
The Form object
这个对象提供操作表单和他们的输入元素的功能性方法。
Method
Kind
Arguments
Description
serialize(form)
instance
form: form element object or id
返回url参数格式的项目名和值的列表, 如'field1=value1&field2=value2&field3=value3'。
findFirstElement(form)
instance
form: form element object or id
返回Form中第一个Enable的对象。
getElements(form)
instance
form: form element object or id
返回包含所有在表单中输入项目的 Array 对象。
getInputs(form [, typeName [, name]])
instance
form: form element object or id, typeName: the type of the input element, name: the name of the input element.
返回一个 Array 包含所有在表单中的 元素。 另外, 这个列表可以对元素的类型或名字属性进行过滤。
disable(form)
instance
form: form element object or id
使表单中的所有输入项目无效。
enable(form)
instance
form: form element object or id
使表单中的所有输入项目有效。
focusFirstElement(form)
instance
form: form element object or id
激活第一个表单中可视的,有效的输入项目。
reset(form)
instance
form: form element object or id
重置表单。和调用表单对象的 reset() 方法一样。
The Form.Element object
这个对象提供表单对象中的可视和非可视元素的功能性方法。
Method
Kind
Arguments
Description
serialize(element)
instance
element: element object or id
返回元素的 名称=值 对, 如 'elementName=elementValue'。
getValue(element)
instance
element: element object or id
返回元素的值。
The Form.Element.Serializers object
这个对象提供了内部使用的用来协助解析出表单元素的当前值的一些有用的方法。
Method
Kind
Arguments
Description
inputSelector(element)
instance
element: object or id of a form element that has the checked property, like a radio button or checkbox.
返回带有元素名称和值的 Array , 如 ['elementName', 'elementValue']
textarea(element)
instance
element: object or id of a form element that has the value property, like a textbox, button or password field.
返回带有元素名称和值的 Array , 如 ['elementName', 'elementValue']
select(element)
instance
element: object of a <select> element
返回带有元素名称和所有被选择的选项的值或文本的 Array , 如 ['elementName', 'selOpt1 selOpt4 selOpt9']
[ctor](element, frequency, callback)
constructor
element: element object or id, frequency: interval in seconds, callback: function to be called when the element changes
创建一个监听元素的对象。
getValue()
instance, abstract
(none)
子类必须实现这个方法以瘊定什么这个元素被监视的当前值。
registerCallback()
instance
(none)
这个方法通常不会被外部调用。 被这个对象自己调用来开始监听那个元素。
onTimerEvent()
instance
(none)
这个方法通常不会被外部调用。 被这个对象自己调用来周期性的检查那个元素。
Property
Type
Description
element
Object
被监听的元素对象。
frequency
Number
每次检查中的以秒为单位的时间间隔。
callback
Function(Object, String)
只要元素改变这个方法就会被调用。 会接收到元素对象和新值作为参数。
lastValue
String
元素被核实的最后一个值。
[ctor](element, frequency, callback)
constructor
element: element object or id, frequency: interval in seconds, callback: function to be called when the element changes
继承自 Abstract.TimedObserver. 创建一个监听元素值属性的对象。
getValue()
instance
(none)
返回元素的值。
[ctor](form, frequency, callback)
constructor
form: form object or id, frequency: interval in seconds, callback function to be called when any data entry element in the form changes
继承自 Abstract.TimedObserver. 创建一个监听表单变化的对象。
getValue()
instance
(none)
返回所有表单数据的一系列值。