2012-02-09 3 views
0

Каков правильный синтаксис для создания пространства имен внутри jquery, чтобы разрешить передачу согласованного набора вложенные методы?namespaced jquery plugins

это то, что у меня есть:

(function($) { 
    var nameSpace = { 
     module: function(x){ 

     } 
    } 
})(jQuery) 

но требующие $('.selector').nameSpace.module() возвращается

Cannot call method 'module' of undefined 

ответ

1

Это не будет работать, как вы не добавили ничего jQuery.fn, который где все плагины добавляются. Вы, вероятно, столкнетесь с проблемами, даже если вы сделали это, хотя, поскольку jQuery делает некоторые причудливые вещи с тем, как привязан this.

Если вы хотите иметь несколько методов на одном плагине я хотел бы предложить чтение через jQuery documentation on namespacing plugins

Надежда, что помогает