第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

關(guān)于e.data

請問測試三e.data,代表的是什么意思阿


有人可以介紹一下。數(shù)據(jù)代表什么嗎


正在回答

3 回答

研究了一整個下午,基本上弄清楚了,我來解釋一下:

先來看完整代碼:

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ù)傳遞的解讀

4 回復(fù) 有任何疑惑可以回復(fù)我~

e.data就是傳過來的e的值。$("button:eq(2)").mousedown(1111, data)里面的mousedown事件調(diào)用data函數(shù),并且將1111傳入data函數(shù),用e來接收傳入的值。

1 回復(fù) 有任何疑惑可以回復(fù)我~

獲取當(dāng)前元素的數(shù)據(jù)吧

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

關(guān)于e.data

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號