Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.04.2009, 10:46
Аспирант
Отправить личное сообщение для idler Посмотреть профиль Найти все сообщения от idler
 
Регистрация: 16.04.2009
Сообщений: 33

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

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

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

Где и что я сделал не так?
Ответить с цитированием
  #2 (permalink)  
Старый 16.04.2009, 11:36
Аспирант
Отправить личное сообщение для idler Посмотреть профиль Найти все сообщения от idler
 
Регистрация: 16.04.2009
Сообщений: 33

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

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

Кто сможет объяснить природу такого поведения?
Ответить с цитированием
  #3 (permalink)  
Старый 16.04.2009, 11:42
Аспирант
Отправить личное сообщение для idler Посмотреть профиль Найти все сообщения от idler
 
Регистрация: 16.04.2009
Сообщений: 33

так же в первом случае существует .fn.zam - во втором нет...
Ответить с цитированием
  #4 (permalink)  
Старый 16.04.2009, 14:49
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

что-то нифига не понятно. При чем тут prototype
После $.fn.zam = function() {...} можно пользоваться функцией zam так $('a').zam();
Ответить с цитированием
  #5 (permalink)  
Старый 16.04.2009, 19:01
Аспирант
Отправить личное сообщение для idler Посмотреть профиль Найти все сообщения от idler
 
Регистрация: 16.04.2009
Сообщений: 33

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

Странно, что не понятно при чем prototype
$.fn === $.prototype в общем случае
Ответить с цитированием
  #6 (permalink)  
Старый 16.04.2009, 19:35
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Цитата:
$.fn === $.prototype в общем случае
а-а, не знал
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу получить document.selection.createRange() при написании плагина SashaBorandi jQuery 0 14.01.2009 06:48
Скрипт для плагина к Download Master ponand Общие вопросы Javascript 21 05.01.2009 22:12
Написание плагина для Firefox SunnyDay Общие вопросы Javascript 2 02.12.2008 15:21