2011-04-03 24 views
2

例如我有這樣的插件代碼:你會如何調用一個jQuery插件作爲一種方法?

jQuery.fn.keys = function(obj) { 
    var keys = []; 
    $.each(obj,function(i,elem) { 
     keys.push(i); 
    }); 
    return keys; 
}; 

我想以這樣的方式來應用此插件:

var a = { 'a':1,'b':23,'c':43}; 
var b = $.keys(a); // should return ['a','b','c'] 

上面的代碼將返回錯誤。

我該如何調用jQuery插件作爲jQuery對象的一個​​方法; $.key()而不是$('#elem').key()

+0

定義 「不工作」 – 2011-04-03 21:56:39

+0

@LightnessRacesinOrbit拋出一個錯誤.. – hitautodestruct 2012-11-08 15:22:01

+0

@hitautodestruct:_What_錯誤? – 2012-11-08 17:48:17

回答

3

$.fn用於添加要在jQuery結果對象上調用的方法。 例如,創建$.fn.extend將允許您調用類似$('#some_el').extend()的東西。

爲了延長$而是使用$.extend

$.extend({ 
     keys: function(obj) { 
       var keys = []; 
       $.each(obj, function(i, elem) { 
         keys.push(i); 
       }); 

       return keys; 
     } 
}); 
相關問題