JQuery 插件默认值和选项

发布于 2024-12-27 14:22:02 字数 595 浏览 0 评论 0原文

如何将插件中的以下属性/变量转换为可以从文档中设置的默认值和选项?

// 插件 js:

(function($){
   $.fn.myPlugin = function(options){
      var myForm = this;
      myForm.variable1 = true;
      myForm.variable2 = true;
      myForm.variable3 = true;
      myForm.variable4 = true;

      ...

      if(myForm.variable1){
         // do something
      }

      ...
   }
})(jQuery);

// 页面中准备好的文档:

<script type="text/javascript">
   $(document).ready(function() {
      $('#form1').myPlugin();
   });
</script>

How can I turn the following properties / variables in my plugin into defaults and options that can be set from document ready?

// plugin js:

(function($){
   $.fn.myPlugin = function(options){
      var myForm = this;
      myForm.variable1 = true;
      myForm.variable2 = true;
      myForm.variable3 = true;
      myForm.variable4 = true;

      ...

      if(myForm.variable1){
         // do something
      }

      ...
   }
})(jQuery);

// document ready in page:

<script type="text/javascript">
   $(document).ready(function() {
      $('#form1').myPlugin();
   });
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

落花浅忆 2025-01-03 14:22:02

最简单的模式是扩展默认选项对象。但这确实意味着任何参数都必须作为“选项”对象一起传递,例如:myPlugin({variable2:false})

(function($){
   $.fn.myPlugin = function(options){

      var defaults = {
          variable1 : true,
          variable2 : true,
          variable3 : true,
          variable4 : true
      }

      var settings = $.extend({}, defaults, options);
      ...

      if(settings.variable1){
         // do something
      }

      ...
   }
})(jQuery);

The simplest pattern is to extend a default options object. But it does mean that any parameters have to be passed together as an "option" object, eg: myPlugin({variable2:false})

(function($){
   $.fn.myPlugin = function(options){

      var defaults = {
          variable1 : true,
          variable2 : true,
          variable3 : true,
          variable4 : true
      }

      var settings = $.extend({}, defaults, options);
      ...

      if(settings.variable1){
         // do something
      }

      ...
   }
})(jQuery);
画骨成沙 2025-01-03 14:22:02

请参阅以下内容:

$('#form1').myPlugin({variable1 : true, variable2: false....});

并使用

(function($){
   $.fn.myPlugin = function(options){

     options.variable1 = true;
          options.variable2 = true;
          options.variable3 = true;
          options.variable4 = true;
  }
})(jQuery);

有关正确方法,请参阅

http://jquery-howto.blogspot.com/2009/01/how-to-set-default-settings-in-your.html

See following:

$('#form1').myPlugin({variable1 : true, variable2: false....});

and use

(function($){
   $.fn.myPlugin = function(options){

     options.variable1 = true;
          options.variable2 = true;
          options.variable3 = true;
          options.variable4 = true;
  }
})(jQuery);

For proper way see

http://jquery-howto.blogspot.com/2009/01/how-to-set-default-settings-in-your.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文