導航:首頁 > 編程語言 > jquery鏈式編程原理

jquery鏈式編程原理

發布時間:2022-08-04 04:42:45

Ⅰ 那些年用jquery處理事件,這些年想知道內部原理嗎

說起jQuery的事件,不得不提一下Dean Edwards大神 addEvent庫 ,很多流行的類庫的基本思想從他那兒借來的

jQuery的事件處理機制吸取了JavaScript專家Dean Edwards編寫的事件處理函數的精華,使得jQuery處理事件綁定的時候相當的可靠。

在預留退路(graceful degradation),循序漸進以及非入侵式編程思想方面,jQuery也做的非常不錯

總的來說對於JQuery的事件綁定

在綁定的時候做了包裝處理

在執行的時候有過濾器處理

.on( events [, selector ] [, data ], handler(eventObject) )

selector : 一個選擇器字元串,用於過濾出被選中的元素中能觸發事件的後代元素

data :當一個事件被觸發時,要傳遞給事件處理函數的

handler:事件被觸發時,執行的函數

var body = $('body')
body.on('click','p',function(){
console.log(this)
})
用on方法給body上綁定一個click事件,冒泡到p元素的時候才出發回調函數

這里大家需要明確一點: 每次在body上點擊其實都會觸發事件,但是只目標為p元素的情況下才會觸發回調handler

通過源碼不難發現,on方法實質只完成一些參數調整的工作,而實際負責事件綁定的是其內部jQuery.event.add方法,轉載,僅供參考。

Ⅱ 請問鏈式編程是什麼意思啊

鏈式編程 是將多個操作(多行代碼)通過點號"."鏈接在一起成為一句代碼。 鏈式代碼通常要求操作有返回值, 但對於很多操作大都是void型,什麼也不返回,這樣就很難鏈起來了, 當然也有解決辦法,可能不太優雅。 鏈式編程的新思想在jQuery中已流行使用
希望採納

Ⅲ 問大牛們一個問題,jq是怎麼實現 $('aaa').fadeIn();這樣的寫法的

這個是jquery的鏈式調用,他的選擇器返回的是jquery對象,而find,eq等等都是jquery對象的內置方法,所以可以無限的傳遞。
你可以去參考一些jquery的鏈式調用資料,學習一下。

Ⅳ jQuery鏈式操作如何實現以及為什麼要用鏈式操作

鏈式操作就是分步驟地對jQuery對象實現各種操作,舉個栗子:

$("#Test").css('color','red').show(200).removeClass('style');

上面的例子就是鏈式操作,在一行代碼里,對id為Test的對象進行了三項操作:先設置其字體顏色為紅色,再顯示對象,最後移除對象的「style」這個樣式。再炒個板栗:

$("#Test").addClass('style').find("div").eq(0).fadeOut(200);

上面的例子意為:先為id為Test的對象添加"style"這個樣式,再找尋其下的第一個div標簽,並使其淡出。

通過上面的兩個例子不難看出鏈式操作就是圍繞一個jQuery對象進行的,很簡單吧?


為什麼要用鏈式操作呢?原因有兩個:

  1. 代碼更精簡。鏈式操作能大大精簡代碼量,多項操作一行代碼一氣呵成,搞定;

  2. 優化性能。使用鏈式操作,所有操作代碼共享一個jQuery對象,省去了逐步查詢DOM元素的性能損耗。

Ⅳ JQuery的鏈式編程,隱式迭代是啥意思

鏈式編程,隱式迭代是jQuery的一個特性,它支持以鏈條的形式,不用顯示的迭代多層數據。
舉個列子:
//普通做法是這樣的
obj.name
=
'小明';
obj.age
=
155;
//鏈式編程是這樣的。
obj.name('小明').age(15);

Ⅵ js 如何實現鏈式編程

您好:沒細看你的代碼。要實現鏈式編程像Jquery一樣。只要每個方法返回對象本身即可。

Ⅶ jquery選擇器$("...")返回的是數組,為什麼還能繼續練式操作$("...").方法

1、jquery選擇器$('selector')返回的不是數組,而是封裝好的jquery對象。但這個對象有一個特別的地方,就是查詢到的節點被以下標為屬性,添加到了jquery對象上,所以它看起來像數組,因為它存在一些屬性是數字;


2、jquery對象有哪些屬性和方法?

我們可以理解,$('selector')返回了一個對象obj,obj[0]....obj[i]總是返回查詢到的第i個節點。除此之外,jquery對象還被通過prototype添加了一些方法,即:

jQuery.prototype.each=function(){}
jQuery.prototype.hasClass=function(){}
jQuery.prototype.hide=function(){}
jQuery.prototype.css=function(){}
jQuery.prototype.attr=function(){}

等等。這樣的話,$('selector')返回的對象就可以調用這些方法,比如obj.attr('name')、obj.css('color', 'red')。


3、jquery方法如何處理多個節點?

實際上,以上諸如hide、css、attr等方法,在jquery內部都是通過循環來處理各個節點的。但是,如果是要獲取節點屬性,比如obj.attr('name'),顯然這個只能返回一個字元串,所以類似的方法都是獲取節點集合中的第一個節點的屬性。也就是說,雖然返回的節點很多,但只有第一個會被處理。


4、為什麼jquery可以鏈式調用?

在jquery中,很多同名的方法通過參數個數的不同實現不同的功能,比如css方法,如果傳一個參數則表示獲取css屬性;如果傳兩個參數,則表示給節點添加某個屬性,並賦值為第二個參數。attr、width等也是這樣的處理。對於方法的返回值,除了獲取屬性值、獲取css值等需要返回實際值的方法外,當css方法、attr方法表示為為節點添加屬性、css樣式時,是不需要返回值的,但jquery讓這些方法返回了this,也就是返回了調用者自身,所以可以鏈式調用。

Ⅷ 用jquery如何獲取到指定的值

這個有很多種方法,

  1. 通過id $("#id")

  2. 通過class $(".class")

  3. 通過name $("[name='name']")

  4. 通過標簽,例如: input $(":input")

等等

通過以上方法找到對象,然後在進行操作,比如需要這些對象的values值,就在後面加.val()等等。

jquery是可以鏈式編程的,非常方便

閱讀全文

與jquery鏈式編程原理相關的資料

熱點內容
紅塔銀行app怎麼樣 瀏覽:562
農行app怎麼開網銀 瀏覽:649
java迭代器遍歷 瀏覽:301
閩政通無法請求伺服器是什麼 瀏覽:48
怎麼做積木解壓神器 瀏覽:203
王者榮耀解壓玩具抽獎 瀏覽:49
12位是由啥加密的 瀏覽:868
程序員編迷你世界代碼 瀏覽:895
php取現在時間 瀏覽:246
單片機高吸收 瀏覽:427
怎麼區分五代頭是不是加密噴頭 瀏覽:244
hunt測試伺服器是什麼意思 瀏覽:510
2013程序員考試 瀏覽:641
畢業論文是pdf 瀏覽:736
伺服器跑網心雲劃算嗎 瀏覽:471
單片機定時器計數初值的計算公式 瀏覽:801
win7控制台命令 瀏覽:567
貓咪成年app怎麼升級 瀏覽:692
360有沒有加密軟體 瀏覽:315
清除cisco交換機配置命令 瀏覽:751