天天看點

W文法 Class W

Documentation generator: 2.4.0

Template: 1.2

Generated on: 2011-7-25 15:22

Defined in:

Class Summary

Constructor Attributes

Constructor Name and Description

<inner>  

()

W是DOM元素的封裝對象。對于全局頁面來說,W是document.body的封裝。對于每個視窗來說,W是該視窗對應的DOM元素(通常是div)的封裝。

W對象具有同一個原型,這個原型可以通過W.extend函數來擴充。

視窗内的Javascript代碼通過通路W對象來完成所有視窗操作,包括DOM修改,事件處理,資源操作,資料綁定等等。不同視窗具有不同的W的執行個體,以保證彼此之間的隔離性。

Field Summary

Field Attributes

Field Name and Description

指定一個引導函數,當Bumblebee初始化完成後,調用這個函數

此函數隻應在引導頁面調用。引導函數被保證會在核心代碼及第三方庫載入後調用。

Method Attributes

Method Name and Description

(id,

exclude_mixin)

獲得視窗中指定ID的元素的W對象

(msg)

顯示一段提示資訊

(resource,

methods)

查詢資源是否支援指定的方法

可以通過W.done注冊回調函數。若所有方法都支援,則調用成功處理的回調函數,否則調用異常處理的回調函數。

(obj)

将參數包裝為數組。參數本身是數組,直接傳回參數值;參數為非undefined的其他值,傳回包含該值的長度為1的數組;參數為undefined,傳回空數組

(condition, msg,

callback)

判斷一句斷言是否成立。若成立,執行指定的回調函數;若不成立,顯示指定的提示資訊

(name, value)

設定或讀取元素屬性值

(f)

調用傳入的函數

file_id)

取消檔案上傳

可以通過W.done注冊回調函數。如果對應的Java方法是正常傳回(即用return傳回),則調用成功處理的回調函數。如果對應的Java方法抛出異常,則調用異常處理的回調函數。

構造一個調用鍊

(constructor,

declaration)

定義類

清理元素

這将清理元素和其所有子元素,清除綁定在這些元素上的額外資料(如事件監聽函數)

關閉視窗

(msg,

顯示一段确認資訊讓使用者進行确認。确認完成後執行指定的回調函數

data)

建立資源

調用此函數後将會發起一個Ajax

POST請求,調用伺服器端資源的POST接口對應的Java類的方法,并傳回傳回值。

設定或讀取元素樣式

(value, parent,

ignore_setter)

設定或讀取元素的綁定值

顯示調試級别的日志資訊

清理并删除元素

(handler)

為之前的異步調用注冊回調函數

(resource)

下載下傳檔案

(obj,

周遊數組或對象,将數組中的每一進制素或對象中的每一鍵值對作為參數,調用指定的回調函數

顯示錯誤級别的日志資訊

(name,

value)

設定或讀取元素擴充資料

(target)

将多個對象的屬性合并到第一個對象中

當傳入參數為多個對象時,所有對象的屬性将被複制到目标對象,即第一個對象。

當傳入參數為單個對象時,則認為目标對象為W的原型。可以使用此特性為W添加屬性。由于操作的是W的原型,是以所有W的執行個體均可使用這些添加屬性。

目标對象将會被修改以包含新增的屬性,并作為函數的傳回值。若不希望修改所有傳入的對象,則可以傳入一個空對象作為目标對象。

此函數不是遞歸的。同名的屬性,無論是數組還是對象,都不會被合并,之後的對象的屬性值會覆寫之前的對象的屬性值。

值為undefined的屬性将不會被複制。

(arr, func)

從數組中提取出所有滿足條件的元素,組成一個新數組。這通過疊代原數組,對每一進制素調用篩選函數,提取函數傳回為true的元素來實作。

(event)

指定事件名稱和參數,觸發事件

将元素設定為浏覽器焦點

擷取資源

GET請求,調用伺服器端資源的GET接口對應的Java類的方法,并傳回傳回值。

(value)

設定或讀取元素高度

隐藏元素

(html)

設定元素的HTML内容。Bumblebee會在設定完成後對這些HTML内容進行渲染

(arr,

判斷數組中是否包含指定元素。若包含,傳回元素的坐标;若不包含,傳回-1。和JavaScript原生的indexOf()函數相比,這裡包含的判斷用的是"相等"(==),而不是"全等"(===)

判斷參數是否為數組

判斷參數是否為函數

判斷參數是否為數字

判斷參數是否為正規表達式

建立一個空的異步調用并立即注冊回調函數

将數組中所有元素映射成一組新的元素。這通過疊代原數組,對每一進制素調用映射函數,提取函數的傳回值來實作。

(elem)

讀取元素标簽名稱

顯示一段通知資訊

獲得現在距1970年1月1日之間的毫秒數

(events,

handler)

解除事件監聽函數和目前元素的綁定

(events, modifier,

綁定事件監聽函數到目前元素上

綁定事件監聽函數到目前元素上,和W.on的差別是,但監聽函數隻會執行最多一次

(path)

打開視窗

可以通過W.done注冊回調函數。如果打開的視窗被關閉,則調用成功處理的回調函數,并可以接受對方通過W.close傳回的參數。

(data, text, value,

initial_options_length)

為目前的select元素建構option

prefix)

将對象轉換成标準的URL編碼形式

輪詢資源

邏輯上等價于不停調用W.get來擷取資源。通過監聽資源的:get事件來處理輪詢結果。

以彈出視窗形式,打開視窗

設定下一個回調函數的參數,用于在W協定中聲明變量

重新整理視窗

删除資源

PUT請求,調用伺服器端資源的DELETE接口對應的Java類的方法,并傳回傳回值。

批量删除從語義上等于根據資源id的清單,建立一個匿名資源(資源集合),然後再其删除。是以是一個POST操作和一個DELETE操作的組合。由于DELETE具有等幂性,而POST不具有,另外DELETE不支援請求攜帶正文,是以在實際實作中,用具有等幂性并可攜帶正文的PUT來替代這個POST

+ DELETE的組合操作。

在容器元素中展示新視窗

<static>  

W.template_handler(html,

args)

(title)

設定視窗的标題

(show_or_hide)

切換或設定元素的顯示狀态

擷取一個全局唯一的ID

更新資源

PUT請求,調用伺服器端資源的PUT接口對應的 Java 類的方法,并傳回傳回值。

(resource, file,

onprogress)

檔案上傳

顯示警告級别的日志資訊

設定或讀取元素寬度

<inner> W()

main

{}$(id, exclude_mixin)

<dl></dl>

<dt>Parameters:</dt>

<dt></dt>

{}

id

<dd>元素ID</dd>

{boolean}

exclude_mixinOptional

<dd>内部使用參數</dd>

<dt>Returns:</dt>

<dd></dd>

{} 對應到該元素的W執行個體

{}alert(msg)

msg

<dd>提示資訊</dd>

{} this

{Chain}allow(resource, methods)

resource

<dd>資源名稱</dd>

{|Array}

methods

<dd>方法名稱或方法名稱清單</dd>

{Chain}

{Array}Array(obj)

{mixed} obj

{Array}

{Chain}assert(condition, msg,

condition

<dd>斷言</dd>

<dd>斷言不成立時,顯示的提示資訊</dd>

{function}

callback Optional

<dd>斷言成立時,執行的回調函數</dd>

<dd>{Chain}</dd>

{mixed}

attr(name, value)

name

<dd>屬性名</dd>

{mixed} value

Optional

<dd>屬性值。需要讀取時,省略此參數</dd>

擷取時,傳回元素屬性值;設定時,傳回this

call(f)

{function(args...)}

f

<dd>被調用函數</dd>

args... Optional

<dd>被調用函數的參數清單</dd>

{Chain} cancel_upload(resource,

<dd>上傳資源名稱</dd>

file_id

<dd>上傳檔案ID</dd>

{Chain}Chain()

{function}Class(constructor,

constructor

<dd>類構造函數</dd>

{Object}

declaration Optional

<dd>類成員聲明,該對象屬性将被複制到類構造函數的prototype對象中去</dd>

{function} 封裝後的類構造函數

{} clean()

{}close()

args...Optional

<dd>傳回給父視窗的參數</dd>

{Chain}confirm(msg, callback)

<dd>确認資訊</dd>

<dd>确認完成後執行的回調函數</dd>

create(resource, data)

{mixed} data

<dd>建立資源内容</dd>

css(name, value)

<dd>樣式名</dd>

<dd>樣式值。需要讀取時,省略此參數</dd>

擷取時,傳回元素樣式值;設定時,傳回this

data(value, parent, ignore_setter)

<dd>綁定值。需要讀取時,省略此參數</dd>

{mixed} parent

ignore_setter Optional

{mixed} 綁定值

{} debug()

<dd>日志資訊</dd>

<dd>{}</dd>

{} destroy()

{Chain}done(handler)

{function(data)|Object}

handler

<dd>異步調用成功處理的回調函數;或者包含以下屬性的對象</dd>

{function(data)}

handler.success Optional

<dd>當handler為對象時,成功處理的回調函數。</dd>

{function(ex)}

handler.error Optional

<dd>當handler為對象時,異常處理的回調函數。ex 為由 Java 異常對象轉換成的 Javascript 對象。</dd>

{function()}

handler._finally Optional

<dd>當handler為對象時,無論成功或異常,在相應的回調函數調用完成(或異常終止)後,始終執行的回調函數。</dd>

{} download(resource)

<dd>下載下傳資源名稱</dd>

{}each(obj, callback)

{Array|Object}

obj

<dd>需周遊的數組或對象</dd>

{function(item|index)}

callback

<dd>回調函數。函數的this和第一個參數指向數組元素值或對象屬性值,第二個參數指向數組下标或對象屬性名。回調函數可傳回false以中斷周遊。</dd>

{} error()

expando(name, value)

<dd>擴充資料鍵名</dd>

<dd>擴充資料值。需要讀取時,省略此參數</dd>

擷取時,傳回元素擴充資料值;設定時,傳回this

extend(target)

target

<dd>當之後有更多的對象傳入時,接受新屬性的目标對象。若隻傳入該對象,則目标對象為W的原型</dd>

<dd>更多包含了需要合并的屬性的對象</dd>

{Object} 目标對象

filter(arr, func)

{Array} arr

<dd>原數組</dd>

func

<dd>篩選函數。函數的this指向數組元素。函數傳回值為true時,元素被加入到傳回數組</dd>

<dd>{Array}</dd>

fire(event)

{|Object}

event

<dd>事件名稱或對象。若傳入的是對象,屬性定義如下:</dd>

event.type

<dd>事件名稱</dd>

{Array} event.args

<dd>事件參數</dd>

{} focus()

get(resource)

<dd>資源名稱。可以帶查詢字元串,用"?"分隔,如"users?name=123"</dd>

height(value)

{number} value

<dd>高度值。需要讀取時,省略此參數</dd>

擷取時,傳回元素高度值;設定時,傳回this

hide()

html(html)

<dt>html</dt>

{number} in_array(arr, value)

<dd>需掃描的數組</dd>

<dd>需掃描的元素</dd>

<dd>{number}</dd>

{boolean} is_array(obj)

<dd>{boolean}</dd>

{boolean} is_function(obj)

{boolean} is_number(obj)

{boolean} is_regexp(obj)

join(handler)

<dd>回調函數</dd>

map(arr, func)

<dd>映射函數。函數的this指向數組元素。函數傳回值被加入到傳回數組</dd>

{Array} 傳回數組

{} node_name(elem)

{DOMElement} elem

<dd>頁面元素。省略此參數以讀取目前元素的标簽名稱</dd>

标簽名稱,總是全部小寫的字元串

{} notice(msg)

{number}

now()

off(events, handler)

{|Regexp|Array}

events Optional

<dd>事件名稱。若為undefined,解除目前元素所有事件的綁定</dd>

{function} handler

<dd>綁定的事件監聽函數。若為undefined,解除目前元素指定事件的所有監聽函數的綁定</dd>

on(events, modifier, handler)

events

<dd>事件名稱。可以對多個事件同時進行監聽,此時events值可以為數組,包含每個事件名稱或比對事件名稱的正規表達式</dd>

modifier Optional

<dd>監聽範圍。可以是 ‘public‘,‘default‘ 和 ‘private‘。預設為 ‘default‘</dd>

{function(e|args...)}

<dd>監聽函數。this被綁定到事件監聽的W對象上</dd>

once(events, modifier, handler)

<dd>回調函數。this被綁定到事件監聽的W對象上</dd>

open(path)

path

<dd>視窗路徑</dd>

<dd>傳遞給視窗的參數</dd>

{} options(data, text, value,

data

<dd>資料源。當資料源是數組時,option基于每個數組元素建構;當資料源是對象時,option基于每個鍵值對建構</dd>

{|function(row)}

text

<dd>數組元素的屬性名,其屬性值對應為option的文本;或者是數組元素到option文本的映射函數</dd>

value

<dd>數組元素的屬性名,其屬性值對應為option的值;或者是數組元素到option值的映射函數</dd>

initial_options_length Optional, Default: 0

<dd>保留的option數量</dd>

{} param(obj, prefix)

{Object} obj

<dd>需轉換的對象</dd>

prefix Optional

<dd>查詢字元串中參數名的字首</dd>

{} polling(resource)

popup(path)

push()

<dd>參數清單</dd>

{} refresh()

{Chain}remove(resource, data)

<dt>data</dt>

show(path)

<dd>視窗參數</dd>

&lt;static&gt; W.template_handler(html, args)

<dt>args</dt>

{} title(title)

title

<dd>視窗标題</dd>

{} toggle(show_or_hide)

show_or_hide Optional

<dd>期望的顯示狀态,顯示為true,隐藏為false。需要切換時,省略此參數</dd>

{} unique_id()

update(resource, data)

調用此函數後将會發起一個Ajax PUT請求,調用伺服器端資源的PUT接口對應的

Java 類的方法,并傳回傳回值。

upload(resource, file, onprogress)

{File} file

<dd>上傳檔案</dd>

onprogress

<dd>上傳進度監聽函數</dd>

{}warn()

{mixed}width(value)

valueOptional

<dd>寬度值。需要讀取時,省略此參數</dd>

擷取時,傳回元素寬度值;設定時,傳回this