Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Написание собственного плагина. (https://javascript.ru/forum/jquery/3404-napisanie-sobstvennogo-plagina.html)

idler 16.04.2009 10:46

Написание собственного плагина.
 
Добрый день.
Я понимаю, что тут такая тема должна уже быть, но не искал по той простой причине, что пара плагинов мной уже написана.
Проблема == тупик. Что-то я делаю не так - не могу разобраться. Укажите на ошибку?

(function($){
   $.fn.zam = function(){
     
   }
 })(jQuery);
 
 jQuery(document).ready(function(){
   console.dir($(document));
 });
 console.dir($(document));
 console.log('------------------');

По сути такой код должен работать и в обоих случаях в консоли должна появляться функция zam. Однако до "--------" она появляется (код вне document.ready) , а после черты ее нету (код внутри document.ready).

Где и что я сделал не так?

idler 16.04.2009 11:36

Уточню контекст.
Чуть изменил код...
(function($){
   $.fn.zam = function(){
     
   }
 })(jQuery);
 
 jQuery(document).ready(function(){
   console.dir($);
 });
 console.dir($);
 console.log('------------------');

получаем снова два логируемых объекта
в первом случае ( вне document.ready) .prototype.zam существует - во втором нет.

Кто сможет объяснить природу такого поведения?

idler 16.04.2009 11:42

так же в первом случае существует .fn.zam - во втором нет...

x-yuri 16.04.2009 14:49

что-то нифига не понятно. При чем тут prototype
После $.fn.zam = function() {...} можно пользоваться функцией zam так $('a').zam();

idler 16.04.2009 19:01

Я разобрался - проблема была в том, что ready срабатывало раньше подключения плагина, это произошло из за двойного включения jquery.js

Странно, что не понятно при чем prototype
$.fn === $.prototype в общем случае

x-yuri 16.04.2009 19:35

Цитата:

$.fn === $.prototype в общем случае
а-а, не знал :-?


Часовой пояс GMT +3, время: 08:16.