prev ~ siblings 返回值:Array<Element(s)>
概述
匹配 prev 元素之后的所有 siblings 元素
参数
prevSelector
任何有效选择器
siblingsSelector
一个选择器,并且它作为第一个选择器的同辈
示例
描述:
找到所有与表单同辈的 input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:...
prev + next 返回值:Array<Element(s)>
概述
匹配所有紧接在 prev 元素后的 next 元素
参数
prevSelector
任何有效选择器
nextSelector
一个有效选择器并且紧接着第一个选择器
示例
描述:
匹配所有跟在 label 后面的 input 元素
HTML 代码:
<form>
<label>Name:</label>
<input name="name" />
<fieldset>
<label>Newsletter:</label>
<input name="newsletter" />
</fieldset>
</form>
<input name="none" />
jQuery 代码:
$(&qu...
jQuery(expression, [context])
概述
这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素。
jQuery 的核心功能都是通过这个函数实现的。 jQuery中的一切都基于这个函数,或者说都是在以某种方式使用这个函数。这个函数最基本的用法就是向它传递一个表达式(通常由 CSS 选择器组成),然后根据这个表达式来查找所有匹配的元素。
默认情况下, 如果没有指定context参数,$()将在当前的 HTML document中查找 DOM 元素;如果指定了 context 参数,如一个 DOM 元素集或 jQuery 对象,那就会在这个 context 中查找。在jQuery 1.3.2以后,其返回的元素顺序等同于在context中出现的先后顺序。
参考文...
getWidth [1.6.0]
document.viewport.getWidth() -> Number
返回当前窗口可视部分的宽度。
相当于调用 document.viewport.getDimensions().width。
到此,Prototype实战教程全部放送完毕,下面,我们将提供JQuery实战教程。
getScrollOffsets [1.6.0]
document.viewport.getScrollOffsets() -> [Number, Number] 或 { top: Number, left: Number }
返回当前窗口可视部分的水平和垂直滚动偏移值。
样例
document.viewport.getScrollOffsets();
//-> { left: 0, top: 0 }
window.scrollTo(0, 120);
document.viewport.getScrollOffsets();
//-> { left: 0, top: 120 }
...
getHeight [1.6.0]
document.viewport.getHeight() -> Number
返回当前窗口可视部分的高度。
相当于调用 document.viewport.getDimensions().height。
getDimensions [1.6.0]
document.viewport.getDimensions() -> { width: Number, height: Number }
返回当前窗口可视部分的尺寸。
viewport 是一个页面所占据的浏览器窗口的一个子集——在浏览器窗口中当前可见的部分。
样例
document.viewport.getDimensions();
//-> { width: 776, height: 580 }
getDimensions
getHeight
getScrollOffsets
getWidth
方法
getDimensions [1.6.0]
document.viewport.getDimensions() -> { width: Number, height: Number }
返回当前窗口可视部分的尺寸。
getHeight [1.6.0]
document.viewport.getHeight() -> Number
返回当前窗口可视部分的高度。
getScrollOffsets [1.6.0]
document.viewport.getScrollOffsets() -> [Number, Number] 或 { top: Number, left: Number }
返回当前窗口可视部分的水平和垂直滚动偏...
stopObserving [1.6.0]
document.stopObserving(eventName, handler[, useCapture = false]) -> document
为文档注销指定的事件处理程序。
document.stopObserving 是 Element#stopObserving 基于整个文档范围的版本。
observe [1.6.0]
observe(eventName, handler) -> document
侦听整个文档范围内的给定事件。也可以用于侦听 "dom:loaded" 事件。
document.observe 是 Element#observe 基于整个文档范围的版本。它与 Event.observe(document, eventName, handler) 是等价的。
"dom:loaded" 事件
Prototype 创建了一个确实非常有用的事件:你可能希望在文档的 DOM 树载入完成后,能够获取一个通知, 这就是所谓的 "dom:loaded" 事件。在支持 DOMContentLoaded 事件的浏览器上, Prototype 会在 DOMContentLoaded 事件上触发 "dom.loaded" 事件。对于不支...
fire [1.6.0]
fire(eventName[, memo]) -> Event
在 document 上触发一个自定义事件。
document.fire 是 Element#fire 基于整个文档范围的版本。
Form.Observer
new Form.Observer(element, frequency, callback)
一个定时观察器,当表单中任意一个控件的值发生变化时,将触发回调。
译注:注意,若要使用表单观察器,则表单中需要检测的控件必须添加
name 属性。
Form.Observer 使用 Form.serialize() 实现
getValue 方法。关于定时观察器的描述见
Abstract.TimedObserver。
样例
在下面的样例中,如果表单中任意控件的值发生变化,则改变表单的外观显示。当数据提交后(储存),
表单重置为初始时的外观。
Login Preferences
Current settings:
...
Form.Element.Observer
new Form.Element.Observer(element, frequency, callback)
一个针对指定表单控件的定时观察器。
Form.Element.Observer 使用 Form.Element.getValue() 实现 getValue() 方法。关于定时观察器的描述见 Abstract.TimedObserver。
TimedObserver 是一个抽象的观察器类,其具体类的实例用于对一些值进行定期检测, 若值发生变化,则触发一个回调。检测频率以秒为单位。
TimedObserver 对象使用 getValue() 实例方法对值进行检测。 在抽象类中并没有实现这个方法,你必须使用具体类如 Form.Observer 或 Form.Element.Observer 才能进行相应的检测。前者序列化一个表单,当结果发生变化时, 触发回调。而后者则是检测到指定的表单控件的值发生变化,就触发回调。
TimedObserver 的使用非常简单:实例化具体类并传递相应的参数,例如:
new Form.Element.Observer( 'myelement', 0.2, // 200 毫秒
function(el, value){
alert('The form control has c...
evaluate
evaluate(object) -> String
将模板应用于参数 object 指定的数据,使用 object 的属性值替换掉模板中相应的标记,返回替换后的字符串。
样例
var hrefTemplate = new Template('/dir/showAll?lang=#{language}&categ=#{category}&lv=#{levels}');
var selection = {category: 'books' , language: 'en-US'};
hrefTemplate.evaluate(selection);
// -> '/dir/showAll?lang=en-US&categ=books&lv='
hrefTemplate.evaluate({language: 'jp', levels: 3, created: '10/12/2005'});
// -> '/dir/showAll?lang=jp&categ=&lv=3'
hrefTemplate.evaluate({});
// -&g...
Template
evaluate
在开发中随时会遇到这样一种问题:有一组相似的对象,需要将这些对象统一采用一种格式输出。 可能你会使用一个循环,将对象的属性值与字符串字面值连接。这是一个典型的解决办法, 并没有什么错,只是比较麻烦,并且在看到相关的代码时不能够马上就明白输出的形式。 Template 类提供了一种清晰明了的办法来解决格式化输出的问题。
走近模板
Template 类使用一种基本的类似于 Ruby 的格式化语法。可以通过嵌入了形如 #{fieldName} 这种样式的替换标记的字符串创建一个模板,应用该模板时 (evaluate),#{fieldName} 将会被对象中相应属性的值替换。 一个简单的样例如下:
// 模板(格式化表达式)
v...