Slyweb
На разработку сайта! Скидки 50%!

Плагин для jquery - как задать опции, не работает?

Вы можете задавать любые вопросы по jQuery.

Плагин для jquery - как задать опции, не работает?

Сообщение Евгений » 26 дек 2009, 21:30

Есть такой плагин (совсем коротенький)

Код: Выделить всё
(function($) {
   $.fn.autosave = function(options) {
 var opts = $.extend({}, $.fn.autosave.options, options);
 var ev = false;
 var doSave = false;
 var ti = 0;
 var ci = 0;
 var ri = 0;

 function setEvents ()
 {
  $( $.fn.autosave.options.saving ).hide();
 
  $( $.fn.autosave.options.autosave ).click(function () {
   $.fn.autosave.go();
   return false;
  });
 
  $( $.fn.autosave.options.restore ).click(function () {
   $.fn.autosave.restore();
   return false;
  });
 
  $( $.fn.autosave.options.removeCookies ).click(function () {
   $.fn.autosave.removeAllCookies();
   return false;
  });
 
  $(window).unload(function () {
   $.fn.autosave.go();
   return true;
  });
 
  setInterval(function () {
   if (doSave) {
    $.fn.autosave.go();
    doSave = false;
   }
  }, $.fn.autosave.options.interval);
  ev = true;
 }
 
 return this.filter(':text, :radio, :checkbox, select, textarea').each(function () {
  if ($(this).is(':text, textarea')) {
   $.fn.autosave.values.text[ti] = this;
   $(this).keyup(function () {
    doSave = true;
   });
   ti++;
  } else if ($(this).is('select')) {
   $.fn.autosave.values.text[ti] = this;
   $(this).change(function () {
    doSave = true;
   });
   ti++;
  } else if ($(this).is(':checkbox')) {
   $.fn.autosave.values.check[ci] = this;
   $(this).click(function () {
    doSave = true;
   });
   ci++;
  } else {
   $.fn.autosave.values.radio[ri] = this;
   $(this).click(function () {
    doSave = true;
   });
   ri++;
  }
 
  if (!ev) { setEvents(); }
 });
 
};

$.fn.autosave.values = {
 'text': {},
 'check': {},
 'radio': {}
};

$.fn.autosave.options = {
 'autosave': '.autosave',
 'restore': '.autosave_restore',
 'removeCookies': '.autosave_removecookies',
 'saving': '.autosave_saving',
 'interval': 10000,
 'unique': '',
 'onBeforeSave': function () { },
 'onAfterSave': function () { },
 'onBeforeRestore': function () { },
 'onAfterRestore': function () { alert ('rrr')},
 'cookieCharMaxSize': 2000,
 'cookieExpiryLength': 1
};




Вызываю его на страничке таким способом


Код: Выделить всё
<script type="text/javascript"> 
$(function(){
 $("form *").autosave();
}); 
</script>



Вопрос:

Почему не работает данная функция с указанием опций
например так так:

Код: Выделить всё
<script type="text/javascript">
$(function(){
$("form *").autosave({
'interval': 20000
});
});
</script>


Подскажите пожалуйста, что здесь не так?

Демонстрация и настройки http://rikrikrik.com/jquery/autosave/
Последний раз поднималось Anonymous 26 дек 2009, 21:30.
Евгений
 

Вернуться в Вопросы по jQuery

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron