知識社群登入
擴充的模式 - 確保 $ 可用 (包進立即執行函數中)
by 蘇德宙, 2012-06-16 08:52, 人氣(2023)
jQuery 習慣用 $ 來使用,但 $ 卻可能被其他定義所覆蓋,例如共用 prototype.js 時
解法: 將 jQeury 用 $ 封裝到立即函數中

(function($) {
  $.say = function(msg) {
     ...
  }
})(jQuery);


$.fn 擴充 jQuery wrapper
(function($) {
  $.fn.makeItBlue = function() {
    return this.css('color': 'blue');  // jQuery chain
  }
})(jQuery);


$.fn 中的 each() 的技巧
(function($) {
  $.fn.makeItBlue = function() {
    return this.each(  // jQuery chain
      function() {
        $(this).css('color': 'blue');
      }
    );

    或是直接用函數的方法進行迭代
    return this.css('color':
      function() {
        return $(this).css('color': 'blue');
      }
    );
  }
})(jQuery);