<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)航:
     
    主站蜘蛛池模板: 国产男女猛烈无遮挡免费网站 | 亚洲一区在线免费观看| 免费一级毛片清高播放| 最近免费中文字幕mv电影| 一区二区3区免费视频| 亚洲自偷自偷在线成人网站传媒| 亚洲爆乳精品无码一区二区三区| 国产精品国产免费无码专区不卡 | 亚洲国产精品日韩专区AV| 在线a级毛片免费视频| 99在线观看视频免费| 91视频免费观看| 色婷婷综合缴情综免费观看| 亚洲熟伦熟女专区hd高清| 亚洲手机中文字幕| 亚洲AV无码欧洲AV无码网站| 亚洲精品偷拍视频免费观看| 免费大香伊蕉在人线国产 | 国产V亚洲V天堂无码| 亚洲综合色区在线观看| 男人的天堂亚洲一区二区三区 | a级毛片在线视频免费观看| 日韩在线视频线视频免费网站| 亚洲另类自拍丝袜第五页| 亚洲国产成人综合| 亚洲精品国产福利在线观看| 精品亚洲成AV人在线观看| 久久综合图区亚洲综合图区| 亚洲级αV无码毛片久久精品| 亚洲日韩中文无码久久| 国产亚洲精品自在线观看| 亚洲精品视频在线看| 相泽亚洲一区中文字幕| 亚洲日韩国产成网在线观看| 亚洲国产成人五月综合网| 亚洲国产婷婷香蕉久久久久久| 亚洲&#228;v永久无码精品天堂久久| 国产精品免费电影| 亚洲av麻豆aⅴ无码电影| 亚洲免费在线观看| 亚洲精品无码鲁网中文电影|