【问题标题】:Creating a jquery plugin创建一个 jquery 插件
【发布时间】:2010-07-03 20:04:49
【问题描述】:

我正在尝试开始编写一个 jquery 插件,一直在阅读教程,但一开始就卡住了。这就是我所拥有的:

(function($) {

  $.fn.testPlugin = function(options) {
    this.each(function() {  
      alert($(this));
    });
  }     
})(jQuery);

我是这样称呼它的:

$('#id').testPlugin();

但它并没有进入 this.each 函数...

基本上我只是想简单地获取被调用的内容,在这种情况下,id: id.... 然后我会用它做一些事情...

【问题讨论】:

  • 你在哪里打这个电话?如果它是在<head> 看到 HTML 之前创建的,那么什么都不会发生。
  • 如果您想获得更多答案,您可能希望接受更多问题。

标签: jquery jquery-plugins


【解决方案1】:

您发布的代码看起来不错。您没有看到警告框的原因可能是在您调用插件之前浏览器没有完成对 HTML 文档的解析(也称为“准备 DOM”)。

试试:

$(document).ready(function() {
    $('#id').testPlugin();
});

【讨论】:

    【解决方案2】:

    这是我用作模板的。像魅力一样工作!

    (function($){
      $.fn.extend({
        plugin_name: function(settings){
          var defaults = {
            placeholder : true
          };
          var settings = $.extend(defaults, settings);
          return this.each(function(){
            var s = settings;
    
            // Code goes here
    
          });
        }
      });
    })(jQuery);
    

    【讨论】:

    • Fred,谢谢...所以我刚刚尝试过这个,但是如果我执行 alert(s.placeholder) 并且我已经将占位符更新为此..占位符:' test', 它返回 undefined.. 我也这样称呼它 $('id').plugin_name({placeholder: 'test'});
    猜你喜欢
    • 2010-11-23
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多