The ${n: in jQuery



我使用Aptana编写JS,我最近安装了jQuery bundle(主要用于代码完成,但也用于新的很酷的东西,我不知道)

因此,当我输入ready并按下Ctrl + <Space>时,我得到两个选项,document readydocument ready (safe)选择其中一个将自动分别放置$(document).ready(function(){})jQuery(document).ready(function($){})

但这无关紧要。当我使用$(someElement).cl时,代码完成功能为我提供了click选项,当我选择它时,它会为我放下以下代码:

$(someElement).click(function() {
  ${0:
}});

(这是相关的。我以后再谈)

同样,我试图编写一个插件,我输入plugin并按下Ctrl + <Space>并选择选项plugin (method),我得到以下代码:

;(function($) {
}
$.fn.pluginName = function(options) {
  var opts = $.extend({}, $.fn.pluginName.defaults, options);
  return this.each(function() {
    var $this = $(this);
    ${6:
    var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
  }
  });
  // private function for debugging
  function debug($obj) {
    if (window.console && window.console.log) {
      window.console.log($obj);
    }
  }
};
// default options
$.fn.pluginName.defaults = {
  defaultOne:true,
  defaultTwo:false,
  defaultThree:'yay!'
};
})(jQuery);

首先,据我所知,编写插件的常见方法是这样的

(function($) {
   $.fn.plugin = function(args) {
      //...
   }
})(jQuery);

我可以将defaults定义为$.fn.plugin.defaults = {...}var defaults = {...}在我的插件内,并在我的插件中扩展{}defaultsargs。这就是我所熟悉的。

:

    为什么Aptana jQuery bundle在一开始就放了一个; ?
  • 为什么function($){}$.fn.pluginName之前关闭
  • 最重要的是,$.click()示例中的${0:plugin (method)示例中的${6:是什么?
  • 还有,$.meta$this.data()到底是什么?

这一切都很令人困惑(然而,奇怪的令人兴奋)…

  • 自调用函数前面的分号是针对先前可能未终止的代码:http://debuggable.com/posts/how-to-write-jquery-plugins: 4 f72ab2e - 7310 - 4 - a74 - 817 - 0 - a04cbdd56cb
  • 我想象他们在$.fn.pluginName之前关闭function($){},以便$.fn.pluginName在自调用的function($){}
  • 范围之外可用
  • 找不到${number: var...符号的答案-希望有人能帮助我们。我唯一能在jQuery中找到的使用${}的是模板:表达式${variable_name}在jQuery中的含义是什么?
  • $this.data()将只返回this.each(function(){})应用于的元素的内容:http://api.jquery.com/jQuery.data/。假设你有几个p与'myPars'类,你有:

    $(文档)时(函数(){$ (' .myPars ') .pluginName ();})

然后该类的每个p将获得该函数的副本,$this.data()将包含当前为"this"的p的内容

我不是jQuery专家,所以我希望周围有更有见识的人来帮助我解决一些我不能很好地解释的问题。

相关内容

  • 没有找到相关文章

最新更新