JQuery Доступ к переменным в плагине

Как я могу получить доступ и установить переменные в плагине из документа готово. Здесь я нашел несколько связанных вопросов по stackru, но они не помогли мне понять, как это можно сделать.

Спасибо!

(function($){
   $.fn.myPlugin = function(){
      var myVar1 = true;
      var myVar2 = true;
      var myVar3 = true;

      ....

      if(myVar1 == true){
         // do something
         ...
      }

      ....
   }
})(jQuery);

<script type="text/javascript">
   $(document).ready(function() {
      $.fn.myPlugin.myVar1 = false;
   });
</script>

3 ответа

Решение

Использование this вместо var:

this.myVar1 = true;
this.myVar2 = true;

....

Зачем вам нужно называть это вне плагина? Поместите вашу переменную как логическую опцию, чем если true или false, вы создаете другую функцию... Когда вы будете использовать плагин в отдельном файле, вы напишите:

$(document).ready(function() {
      $('#id').myPlugin() {
         //options
      }
   });

таким образом, если в вашем варианте ваша переменная будет установлена ​​в true или false, она будет выполнять две разные функции...

Кстати, если вам нужно вызвать переменную вне плагина, это путь:

$('#id').data('myPlugin').option.foo;

http://stefangabos.ro/jquery/jquery-plugin-boilerplate/

Есть несколько примеров использования открытых свойств и методов в плагине.

Другие вопросы по тегам