This page looks plain and unstyled because you're using a non-standard compliant browser. To see it in its best form, please visit upgrade to a browser that supports web standards. It's free and painless.

Fillano's Learning Notes 會員登入 會員註冊

« 上一篇 | 下一篇 »

jQuery提供了一個用非常簡單的方式就可以做出可擴充framework的方法,我們可以用很簡單的方式偷過來用。用這樣的方法,可以動態擴充裡面的function,又不會影響global scope,也許在多人使用的環境下開發使用javascript的網頁,可以避免一些衝突的問題。

核心非常簡單:

(function(){
    var window = this;
    if(window.$F)
        window._$F = window.$F;
    var a = {};
    a.fn = a.prototype = {
        init: function(n) {this.node = n;return this;},
    };
    a.fn.extend = function(n,f) {
        if(!a.fn[n]) {
            a.fn[n] = f;
        }
    };
    a.fn.init.prototype = a.fn;
    window.$F = function(c) {
        return new a.fn.init(c);
    };
})();

這樣就可以透過$F來操作,例如:

$F().extend("html", function(m){this.node.innerHTML=m;return this;});
$F().extend("click",function(f){this.node.onclick=f;return this;});

這樣就為他擴充了兩個方法,html()可以修改傳入node的innerHTML,click可以給他加上onclick事件處理函數。例如:

$F(document.getElementById("target")).click(
function(){
    $F(this).html("done");
}
);

這樣就可以在傳入的node加上一個onclick函數,在點選時把innerHTML改為"done"。

  1. Re: 從jQuery拆出Framework的Skeleton自己用 [回覆]

    办公室装修seo公司要选择杭州装修公司来进行自己的杭州搬家策划,在设计过程中要把杭州办公室装修中所涉及到项目体现到Google优化预算单中,因为Google左侧排名是个多元化的施工组织.

    fefe 回應於 08 元月, 2010 13:24

發表回應

 暱稱 (必填)

 標題

 個人網頁

 電子郵件

authimage 
 認證碼 (必填)