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 changed value to: ' + value)
}
)
现在我们已实例化一个 TimedObserver
对象,它将每隔 0.2 秒检测一次表单控件的值,
如果值发生变化,则弹出提示框。虽然在上面的例子中,弹出用户自己输入的值没有什么实际用途,
但事实上我们可以做一些类似于更新 UI 的某个部分或是通知服务器用户已在填写表单数据(通过
Ajax)等一些应用。
调用回调函数时会传递两个参数:观察器实例被创建时指定的元素以及回调被触发后元素当前的值 (变化后的值)。
方法
Form.Element.Observer
new Form.Element.Observer(element, frequency, callback)
一个针对指定表单控件的定时观察器。
Form.Observer
new Form.Observer(element, frequency, callback)
一个定时观察器,当表单中任意一个控件的值发生变化时,将触发回调。
译注:注意,若要使用表单观察器,则表单中需要检测的控件必须添加
name
属性。