2014-02-11 49 views
0

我已經做了一個名爲draw()的js函數,現在是否可以在使用$(...)獲取元素後,使用.運算符來調用此方法。我的意思是我喜歡這個工作$(#myId).draw()。現在它會給出錯誤,如未定義的函數。我怎樣才能使它工作?

+0

您是否在尋找像jquery函數那樣的調用方法? – RaviH

+0

@RaviH:是的,就像缺省方法一樣。 –

+0

然後閱讀有關如何編寫jquery插件並將其製作成jquery插件。 – RaviH

回答

1

最好的方法是使用1.3中(正如我們可以一次添加多個插件功能)

示例代碼看起來像

jQuery.fn.extend({ 
    draw: function() { 
    return this.each(function() { 
     // add code here to draw 
    }); 
    } 
}); 

一旦添加了這種方法,您可以使用下面的代碼來調用添加的方法畫法的任何jQuery的元素

$("#myId").draw() 

官方參考:jquery.fn.extend

+0

出於興趣,是否有任何理由認爲'fn.extend'比'fn.draw = ...'更好? – roo2

+0

@Eru jQuery.fn.extend用於擴展jQuery.fn對象,它實際上一次添加多個插件函數。 –

+0

啊我看到了,你添加了一個完整的對象。謝謝 – roo2

3

很難從你的問題告訴,但它聽起來像你想創建一個jQuery插件。你可以做到這一點通過擴展$.fn

$.fn.draw = function(){ 
    /* ... */ 
} 

然後就可以調用,對一個選擇:

$('#myId').draw(); 

更多的文檔在這裏:http://learn.jquery.com/plugins/basic-plugin-creation/

1

你婉t使用jQuery.fn.extend,這裏記錄http://api.jquery.com/jquery.fn.extend/。現在

$.fn.extend({ 
    draw: function() { 

    // do something to the jQuery object 
    return this; 

    } 
}); 

你可以用$(...)創建一個jQuery對象調用.draw

相關問題