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