capitalize
capitalize() -> string
将一个字符串的首字母转换为大写,其它的字母全部转为小写。
样例
'hello'.capitalize();
// -> 'Hello'
'HELLO WORLD!'.capitalize();
// -> 'Hello world!'
camelize
camelize() -> string
将一个用横线分隔的字符串转换为 Camel 形式。如 'foo-bar' 将被转换为 'fooBar'。
Prototype 在内部使用这个方法将 CSS 属性转换为它们等价的 DOM 的 style 属性。
样例
'background-color'.camelize();
// -> 'backgroundColor'
'-moz-binding'.camelize();
// -> 'MozBinding'
blank [1.5.1]
blank() -> Boolean
检查字符串是否为空或只包含空白符。
样例
''.blank(); //-> true
' '.blank(); //-> true
' a '.blank(); //-> false
K
K(argument) -> argument
K 是属于 Prototype 的一个 恒等变换函数,即它返回自身的参数,而不做任何其它处理。
这个方法主要提供给框架使用。框架中大量使用了该方法,最明显的例子是在 Enumerable 模块中,它被作为迭代器的默认值。
样例
Prototype.K('hello world!');
// -> 'hello world!'
Prototype.K(1.5);
// -> 1.5
Prototype.K(Prototype.K);
// -> Prototype.K
emptyFunction
emptyFunction([argument...])
emptyFunction 不做任何事,也不返回任何值!
为减少依赖,它被框架用来作为一个备用函数。典型的应用是将它作为一个可选的回调函数参数的默认值。
Prototype
K
emptyFunction
Prototype 命名空间包含了使用 Prototype 库应具备的基本信息,同时它也是存放默认迭代器和函数的地方。
我们说它是“命名空间”是因为 Prototype 对象不是为了实例化而创建的,也没有混入其它的对象, 它仅只是一个单纯的名称空间。
Prototype 的版本
在脚本中,可以通过 Prototype.Version 获取版本号,以检测你当前使用的 Prototype 是否是某一个特定的版本。版本号是一个字符串(例如 "1.5.0")。现实中的一个例子是著名的 script.aculo.us 库,它在载入时会自动检测,以确保它所使用的 Prototype 的版本正确无误。
浏览器特性
Prototype 还提供浏览器...
withinIncludingScrolloffsets [不推荐]
withinIncludingScrolloffsets(element, x, y) -> Boolean
判断点 x, y(以页面左上角为坐标原点)是否在 element 的边界范围内。 当 element 是一个可滚动容器的子节点时,请使用该方法代替 Position.within。 在使用时,应按照 Position.prepare --> withinIncludingScrolloffsets --> Position.overlap 的顺序调用这些方法。
已废弃!
该方法用于处理 Position.within 的一种特殊情形:element 是一个滚动容器的子节点。(例如,在 Script.aculo.us 中,当一个可拖拽的容器是可滚动容器时,就会用到它。) 从执行效率方面考虑,一般...
within [不推荐]
within(element, x, y) -> Boolean
判断点 x, y(以页面左上角为坐标原点)是否在 element 的边界范围内。 在使用 Position.overlap 方法前必须立即调用该方法。
已废弃!
该方法使用 Position.cumulativeOffset 来计算 element 距页面左上角的距离,然后根据 element 的高度和宽度标识出元素四个角的偏移值,最后再与 x 和 y 参数指定的坐标相比较,如果 (x, y) 落入 element 的边界内,则返回 true。
样例
var element = $('some_positioned_element');
Position.cumulativeOffset(element);
// -> [100, 100](元素距离页面的左方和顶部都是 100px)
Element.getD...
relativize [不推荐]
relativize(element)
转换元素的定位方式为相对定位,并且不改变元素在页面中的位置。
译注:该方法使用代码 element.style.position = 'relative' 改变定位方式。在改变定位方式后, 元素左上角的坐标仍会保持原来的位置,如果元素未设置初始的 width 和 height 属性,则调用该方法后, 元素的宽度和高度会改变为系统预设值。
已被 Element#relativize 方法取代。
realOffset [不推荐]
realOffset(element) -> [Number, Number]
在内含滚动条的容器中计算元素的累积滚动偏移值。
已被 Element#cumulativeScrollOffset 方法取代。
累加元素及它的所有先代节点的 scrollLeft 和 scrollTop。
该方法常用于在多个滚动容器(例如在一个可滚动的容器中包含一个可滚动的文档)中计算元素的滚动偏移值。
注意:所有返回值都仅有数字,单位为像素。
positionedOffset [不推荐]
positionedOffset(element) -> [Number, Number]
以 element 的容器块(Containing Block)节点(译注:距离元素最近的 CSS position 属性为 relative 或 absolute 的先代节点)为坐标原点,返回 element 的坐标偏移值(元素的容器块节点可通过 Position.offsetParent(element) 方法获取)。
已被 Element#positionedOffset 方法取代。
这个方法其实是累加元素及其所有父元素的 offsetLeft 和 offsetTop,直到其中一个元素的 CSS position 属性不等于 static(译注:static 是 position 的默认值)为止。
注意:所有返回值都仅有数字,单位为像素。
...
page [不推荐]
page(element) -> [Number, Number]
返回 element 相对于浏览器可视区域左上角的坐标值。 (译注:坐标原点以浏览器当前可见的部分为基准,意即当滚动条滚动后, 坐标原点也随之改变,坐标原点在当前窗口中永远可见。)
已被 Element#viewportOffset 取代。
注意:所有返回值都仅有数字,单位为像素。
overlap [不推荐]
overlap(mode, element) -> Number
返回一个界于 0 和 1 之间的数值,用于表示先前使用 Position.within 方法指定的点基于 element 左上角的坐标值与 element 宽高的比例。mode 可以设置为 vertical 或 horizontal。
已废弃!
假设有一个块级别的 element(即元素具有宽和高)以及一个以页面左上角为原点的坐标为 x, y 的点,调用 Position.within 将会指出这个点是否在 element 所占据的区域内。
现在假设有一个与 element 具有相同尺寸的元素,它的右下角(译注:原文为左上角)顶点坐标为 x, y。Position.overlap 指出这两个元素在水平和垂直方向上的重叠部分相对于 element...
offsetParent [不推荐]
offsetParent(element) -> HTMLElement
返回 element 的容器块(Containing Block)(译注:距离元素最近的 CSS position 属性为 relative 或 absolute 的先代节点)节点, 如果不存在这样一个节点,则返回 body 元素。
已被 Element#getOffsetParent 方法取代。
返回的元素是 element 的 CSS containing block。
cumulativeOffset [不推荐]
cumulativeOffset(element) -> [Number, Number]
返回 element 相对于页面左上角的坐标。
已被 Element#cumulativeOffset 方法取代。
累加元素及它的所有先代节点的 offsetLeft 和 offsetTop。
注意:所有返回值都仅有数字,单位为像素。
clone [不推荐]
clone(source, target[, options]) -> [Number, Number]
从 source 中复制参数 options 指定的位置和/或尺寸的相关信息到 target。
已被 Element#clonePosition 方法取代。
注意:该方法根据 CSS containing block 的规则判定元素的位置信息是否相同,调用该方法后,target 和 source 的位置信息按照上述规则严格匹配。
选项
名称
默认值
描述
setLeft
true
克隆 source 的 CSS 属性 left 到 target。
...