<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    七段

    無論怎樣,請讓我先感謝一下國家。

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      35 Posts :: 2 Stories :: 7 Comments :: 0 Trackbacks
    傳統(tǒng)的client side js MVC 結(jié)構(gòu):
    Model:
    json object - mapping with PO from server side
    View:
    HTML + CSS
    Controller:
    Page object - 負(fù)責(zé)頁面初始化邏輯(驗證、事件綁定、json數(shù)據(jù)渲染到DOM),提交時,獲取DOM的數(shù)據(jù)組裝json。

    Concrete Javascript Pattern :
    把status 和 behavior 直接綁定到DOM element上。

    jquery concrete framework:
    http://github.com/hafriedlander/jquery.concrete
    http://github.com/nkallen/effen/
    前者42k,后者0.8k。
    與直接在DOM element object上添加status or behavior相比,框架的好處是可以批量添加。

    用例:
    對于autocomplete組件,formatted data = data name; saved data= data id;
    之前有一個實現(xiàn)是為了save data id,多加了一個 input hidden.
    如果是concrete js pattern, 可以在這個input element 上直接保存數(shù)據(jù)。
    effen + jquery.autocomplete test:
    $('body').append('<div id="dom_test"><input id="month"/></div>');
                var monthInput = $("#month");
                monthInput.fn({
                    dataPair: function(){
                        if (arguments.length == 0) {
                            return this._data;
                        }
                        else {
                            this._data = arguments[0];
                        }
                    },
                    _data: []
                });
                monthInput.autocomplete(months, {
                    minChars: 0,
                    max: 12,
                    autoFill: true,
                    mustMatch: true,
                    matchContains: false,
                    scrollHeight: 220,
                    formatItem: function(data, i, total){
                        if (data[0] == months[new Date().getMonth()]) 
                            return false;
                        return data[0].substring(0, 3);
                    },
                    formatResult: function(row){
                        return row[1];
                    }
                });
                monthInput.result(function(event, data, formatted){
                    var _data = data[0].split("|");
                    monthInput.fn("dataPair", _data);
                    console.dir(monthInput.fn("dataPair"));
                });
    



    已有 0 人發(fā)表留言,猛擊->>這里<<-參與討論


    JavaEye推薦




    文章來源:http://sevenduan.javaeye.com/blog/503946
    posted on 2009-10-31 14:49 sevenduan 閱讀(132) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日韩视频在线免费| 亚洲精品在线视频| 免费电影在线观看网站| 妞干网免费视频观看| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 亚洲AV无码一区二区乱子伦 | 亚洲AV午夜福利精品一区二区| www成人免费视频| 99视频全部免费精品全部四虎| 成人免费淫片在线费观看| 亚洲精品无码AV人在线播放| 亚洲AV无码一区二区三区性色| 欧洲人免费视频网站在线| 全亚洲最新黄色特级网站| 亚洲伊人久久大香线蕉结合| 中文字幕免费不卡二区| 亚洲国产成人精品女人久久久| 亚洲人成77777在线播放网站不卡| 三年在线观看免费观看完整版中文| 麻豆国产精品入口免费观看| 亚洲综合亚洲国产尤物| 在线毛片片免费观看| 亚洲国产国产综合一区首页| 黄页网址大全免费观看12网站| 好吊妞788免费视频播放| 国产亚洲女在线线精品| 午夜毛片不卡免费观看视频| 污视频网站免费在线观看| 免费A级毛片无码A∨男男| 日韩亚洲人成网站| 性做久久久久免费观看| 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲国产成人va在线观看网址| 免费国产成人α片| 亚洲AV无码乱码在线观看裸奔| 亚洲视频免费一区| 亚洲精品无码久久毛片波多野吉衣| 毛片高清视频在线看免费观看| 一级毛片aaaaaa视频免费看| 亚洲色图校园春色| 精品无码国产污污污免费网站|