課程
/前端開(kāi)發(fā)
/jQuery
/jQuery基礎(chǔ)(三)—事件篇
請(qǐng)問(wèn)測(cè)試三e.data,代表的是什么意思阿
有人可以介紹一下。數(shù)據(jù)代表什么嗎
2016-08-02
源自:jQuery基礎(chǔ)(三)—事件篇 2-2
正在回答
研究了一整個(gè)下午,基本上弄清楚了,我來(lái)解釋一下:
先來(lái)看完整代碼:
function?dome(e){ ????alert(e.data); } $("div").click(999,dome);
要搞懂e.data先要搞懂下面的問(wèn)題:
.click(999,dome)做了什么事情?
.click(999,dome)調(diào)用的時(shí)候做了2件事:
第1:.click(999,dome),當(dāng).click()調(diào)用的時(shí)候,返回(即給函數(shù)dome添加)了一個(gè)事件對(duì)象e(即event),這個(gè)事件對(duì)象包含了一個(gè)對(duì)象data。這個(gè)事件對(duì)象e就是點(diǎn)擊鼠標(biāo)這個(gè)事件,即click事件本身。
第2:.click(999,dome),將999這個(gè)參數(shù)傳遞給了事件e的對(duì)象data,這里一定要注意,999不是傳遞給了dome函數(shù),而是傳遞給了dome函數(shù)的事件對(duì)象e的對(duì)象data(一定要注意理解這一句話)
看這個(gè)例子可能比較容易理解:
假設(shè)我們將999理解為傳遞給dome的參數(shù),那么嘗試運(yùn)行下面的代碼:
dome(999);
按錯(cuò)誤的理解,將彈出窗口,輸出999;
而實(shí)際上輸出了 undefined,原因是當(dāng)這樣寫(xiě)的時(shí)候,實(shí)際上dome函數(shù)接收了一個(gè)無(wú)用的參數(shù),而dome函數(shù)還在嘗試輸出e.data,而dome函數(shù)并沒(méi)有e這個(gè)對(duì)象,結(jié)果輸出undefined,就是說(shuō)我們沒(méi)有定e這個(gè)對(duì)象。
但是當(dāng)使用.click使用dome作為參數(shù)的時(shí)候,e對(duì)象出現(xiàn)了,說(shuō)明e對(duì)象是被.click()添加的。
將上面的代碼改為這樣會(huì)比較容易理解:
$("div").click(999,function(e){ ????alert(e.data); }) //這里使用匿名函數(shù)代替dome函數(shù)
另外要說(shuō)明的是:這里我一直稱呼data為對(duì)象,而不是數(shù)據(jù)的原因,data在這里是作為一個(gè)對(duì)象出現(xiàn)的
看這里的代碼:
var?userObj?=?{?name:"imooc",age:999};?//定義了一個(gè)對(duì)象userObj $("div").click(userObj,function(e){?//將對(duì)象userObj作為.click的參數(shù) ????alert(e.data.name); })
將輸出:imooc
可以看到,之前的參數(shù)999,被替換成了userObj這個(gè)對(duì)象,那么在引用這個(gè)對(duì)象的時(shí)候,還是通過(guò) data.name來(lái)調(diào)用的,說(shuō)明:userObj對(duì)象被傳遞給了data
總結(jié):
1.click(),在調(diào)用時(shí),作為click參數(shù)的function被添加了 event事件對(duì)象,該對(duì)象擁有一個(gè)data對(duì)象;
2.click(),在調(diào)用是,如果設(shè)置參數(shù),該參數(shù)將被傳遞給,event事件對(duì)象的data對(duì)象。
另外可以看我寫(xiě)的手記,希望對(duì)你有幫助:jQuery事件參數(shù)傳遞的解讀
e.data就是傳過(guò)來(lái)的e的值。$("button:eq(2)").mousedown(1111, data)里面的mousedown事件調(diào)用data函數(shù),并且將1111傳入data函數(shù),用e來(lái)接收傳入的值。
獲取當(dāng)前元素的數(shù)據(jù)吧
舉報(bào)
jQuery第三階段開(kāi)啟事件修煉,掌握對(duì)頁(yè)面進(jìn)行交互的操作
2 回答e.data問(wèn)題
1 回答$(this).val(e.data) 這里的 e.data到底指的是什么
2 回答e.data是什么意思?
2 回答$(this).val(e.data)中的data如何解釋???
1 回答求解釋一下e.data是什么意思?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-10-21
研究了一整個(gè)下午,基本上弄清楚了,我來(lái)解釋一下:
先來(lái)看完整代碼:
要搞懂e.data先要搞懂下面的問(wèn)題:
.click(999,dome)做了什么事情?
.click(999,dome)調(diào)用的時(shí)候做了2件事:
第1:.click(999,dome),當(dāng).click()調(diào)用的時(shí)候,返回(即給函數(shù)dome添加)了一個(gè)事件對(duì)象e(即event),這個(gè)事件對(duì)象包含了一個(gè)對(duì)象data。這個(gè)事件對(duì)象e就是點(diǎn)擊鼠標(biāo)這個(gè)事件,即click事件本身。
第2:.click(999,dome),將999這個(gè)參數(shù)傳遞給了事件e的對(duì)象data,這里一定要注意,999不是傳遞給了dome函數(shù),而是傳遞給了dome函數(shù)的事件對(duì)象e的對(duì)象data(一定要注意理解這一句話)
看這個(gè)例子可能比較容易理解:
假設(shè)我們將999理解為傳遞給dome的參數(shù),那么嘗試運(yùn)行下面的代碼:
按錯(cuò)誤的理解,將彈出窗口,輸出999;
而實(shí)際上輸出了 undefined,原因是當(dāng)這樣寫(xiě)的時(shí)候,實(shí)際上dome函數(shù)接收了一個(gè)無(wú)用的參數(shù),而dome函數(shù)還在嘗試輸出e.data,而dome函數(shù)并沒(méi)有e這個(gè)對(duì)象,結(jié)果輸出undefined,就是說(shuō)我們沒(méi)有定e這個(gè)對(duì)象。
但是當(dāng)使用.click使用dome作為參數(shù)的時(shí)候,e對(duì)象出現(xiàn)了,說(shuō)明e對(duì)象是被.click()添加的。
將上面的代碼改為這樣會(huì)比較容易理解:
另外要說(shuō)明的是:這里我一直稱呼data為對(duì)象,而不是數(shù)據(jù)的原因,data在這里是作為一個(gè)對(duì)象出現(xiàn)的
看這里的代碼:
將輸出:imooc
可以看到,之前的參數(shù)999,被替換成了userObj這個(gè)對(duì)象,那么在引用這個(gè)對(duì)象的時(shí)候,還是通過(guò) data.name來(lái)調(diào)用的,說(shuō)明:userObj對(duì)象被傳遞給了data
總結(jié):
1.click(),在調(diào)用時(shí),作為click參數(shù)的function被添加了 event事件對(duì)象,該對(duì)象擁有一個(gè)data對(duì)象;
2.click(),在調(diào)用是,如果設(shè)置參數(shù),該參數(shù)將被傳遞給,event事件對(duì)象的data對(duì)象。
另外可以看我寫(xiě)的手記,希望對(duì)你有幫助:jQuery事件參數(shù)傳遞的解讀
2016-08-04
e.data就是傳過(guò)來(lái)的e的值。$("button:eq(2)").mousedown(1111, data)里面的mousedown事件調(diào)用data函數(shù),并且將1111傳入data函數(shù),用e來(lái)接收傳入的值。
2016-08-02
獲取當(dāng)前元素的數(shù)據(jù)吧