国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

關于hashchangebroker和statehashable的補充文檔

2019-11-20 23:43:37
字體:
來源:轉載
供稿:網友

url hash:url中#號后面那段,通常用來定位到html頁面中某一錨點。因為hash變化頁面不會刷新,所以在ajax應用中用hash來存儲腳本運行狀態,例如gmail的做法。

jquery hash change event plugin: Internet Explorer 8, Firefox 3.6+, 和Chrome 5+里,已經提供了window.onhashchange事件,但是在老版本的瀏覽器中并沒有這個事件,這個插件通過定時器判斷hash是否產生了變化,以便在老版本的瀏覽器重提供hashchange事件。

hashchangebroker:之前寫了這個jquery extend,提供了四個方法:

$.hashchangebroker.subscrib(fragName, handler)

  訂閱fragName對應的hash段落變化,并轉發給指定的handler。
  url hash由若干個frag組成,一個frag格式為:[fragName]:[state]。fragName為自定義hash狀態名稱。state為base64編碼的json字符串。
  handler只有一個參數state:json格式字符串,描述自定義狀態。

$.hashchangebroker.publish(hash)

  此方法應綁定到window.onhashchange事件。接收hash并解碼找到變更的frag,并轉發給訂閱該frag的handler。

$.hashchangebroker.changeFrag(fragName,state)

  此方法由statehashable類型調用,用于修改hash中對應fragName的frag的state。

$.hashchangebroker.init()

  此方法用于在頁面刷新后,獲取hash并publish。在$(document).ready中調用即可。應放到所有subscrib方法之后。

statehashable:提供這個widget是希望可以比較方便的將控件的狀態發布到url hash,并獲取控件對應的hash frag的state變化,觸發相應的statechange事件。

用法$(dom).statehashable();調用此方法后,給dom對象增加了hashchange事件。當statehashable對象發現控件對應的hash frag變化后,會觸發dom對象的hashchange事件。
使用方法:

復制代碼 代碼如下:

$(dom).bind("hashchange",function(e,stateObj){
//判斷stateObj的狀態,還原dom到對應的狀態
});

應在更改dom狀態的方法中增加statechange的事件觸發,statehashable對象會捕捉該事件,并調用hashchangebroker的changeFrag方法,修改hash。statechange觸發示例:
$(dom).trigger("statechange",[stateName,stateValue]);

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江油市| 瓮安县| 内江市| 宁夏| 华池县| 九寨沟县| 蓬安县| 永胜县| 商洛市| 沁水县| 万宁市| 安塞县| 噶尔县| 搜索| 昌都县| 蓝山县| 威信县| 南城县| 青神县| 安庆市| 杭锦旗| 色达县| 平顺县| 安图县| 田阳县| 赫章县| 淳化县| 汨罗市| 太和县| 鲁山县| 水城县| 方城县| 新营市| 简阳市| 江津市| 长治市| 福建省| 黑龙江省| 郑州市| 澄迈县| 尤溪县|