jQuery擴展

擴展
	編寫jQuery插件
		新方法是經過擴展$.fn對象實現的
		$.fn對象綁定變量
			$.fn.highlight1 = function () {
				// this已綁定爲當前jQuery對象:
				this.css('backgroundColor', '#fffceb').css('color', '#d85030');
				return this;
			}
		函數內部的this在調用時被綁定爲jQuery對象,因此函數內部代碼能夠正常調用全部jQuery對象的方法
		簡單的說。新的方法綁定到了jQuery對象中,因此jq對象能使用新方法

		咱們得出編寫一個jQuery插件的原則:
			1 給$.fn綁定函數,實現插件的代碼邏輯;
			2 插件函數最後要return this;以支持鏈式調用;
			3 插件函數要有默認值,綁定在$.fn.<pluginName>.defaults上;
			4 用戶在調用時可傳入設定值以便覆蓋默認值。


		擴展jQuery對象的功能十分簡單
		可是咱們要遵循jQuery的原則,編寫的擴展方法能支持鏈式調用、具有默認值和過濾特定元素,使得擴展方法看上去和jQuery自己的方法沒有什麼區別。
		鏈式調用:函數最後 return this;返回jq對象
        具有默認值:使用$.extend(target, obj1, obj2, ...)
	    過濾特性元素:調用filter()// jQuery的filter()參數能夠傳入css選擇器、函數
		
		$.extend(target, obj1, obj2, ...),它把後面多個object對象的屬性合併到第一個target對象中,遇到同名屬性,老是使用靠後的對象的值,也就是越日後優先級越高
		// 把默認值和用戶傳入的options合併到對象{}中並返回:
		var opts = $.extend({}, {
			backgroundColor: '#00a8e6',
			color: '#ffffff'
		}, options);
		
		
		
相關文章
相關標籤/搜索