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

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

這段代碼不理解

function delegateEvent(target,event,fn){
??????? addEvent(document,event,function(e){
??????????? if(e.target.nodeName==target.toUpperCase()){
??????????????? // nodename獲取節(jié)點名稱(為大寫),toUpperCase()將目標改為大寫
??????????????? fn.call(e.target);
??????????? }
??????? });
??? }

不太懂

1、addEvent(document,event,function(e){},其中id參數(shù)為document,意思是點擊屏幕就會觸發(fā)function(e){}?這有什么意義?

2、if(e.target.nodeName==target.toUpperCase())會有不相等的情況嗎?

3、fn.call(e.target);用fn取代e.target?e.target是什么?取代之后有什么用?

正在回答

2 回答

  1. addEvent(document,event,function(e){}為了獲取觸發(fā)元素

  2. //e.target.nodeName顯示是哪一個元素觸發(fā)了事件(可參照http://www.w3school.com.cn/jquery/event_target.asp)
    //target.toUpperCase()是目標參數(shù)元素的大寫形式

  3. call的意思是調(diào)用一個對象的一個方法,以另一個對象替換當前對象。e.target就是觸發(fā)點擊事件的元素,即用fn方法替換掉e.target(好吧,第三條我在胡言亂語,我的理解就是把fn調(diào)用出來,否則fn就無用武之地了。。)

0 回復 有任何疑惑可以回復我~
#1

心葉丶

第二條中,前一個target是屬性,后一個是參數(shù),你點擊document中l(wèi)i觸發(fā)事件,點擊div也可以觸發(fā)事件,只不過你目標參數(shù)事先設(shè)定元素是li,所以只有在點擊li時才會應用判斷語句中的fn.call(e.target)。
2016-06-24 回復 有任何疑惑可以回復我~
#2

Sunnylincon 提問者 回復 心葉丶

基本上理解了,非常感謝
2016-06-25 回復 有任何疑惑可以回復我~
#3

慕沐9823379

1.嗯,說得不錯,但最后一點我想補充一下,關(guān)于call()的用法,call([thisObj[,arg1[, arg2[, [,.argN]]]]]) ,定義:調(diào)用一個對象的一個方法,以另一個對象替換當前對象。 如果沒有提供 thisObj 參數(shù),那么 Global 對象被用作 thisObj。 也就是說以全局對象的方法去調(diào)用fn,并向該函數(shù)傳入?yún)?shù)e.target; 2.var keyword=this.innerHTML;里面指的就是每次不同的li
2017-04-28 回復 有任何疑惑可以回復我~

大概理解了吧,非常感謝

1、理解應該沒有問題

2、e.target.nodeName中的target是個屬性,后面的target是個參數(shù),點擊屏幕時判斷被點擊元素的節(jié)點和傳進來的參數(shù)是否相同

3、fn.call(e.target)應該是改變了this的指向吧,如果直接調(diào)用fn,后面var keyword=this.innerHTML;中的this并不能指向誰吧,fn.call(e.target)讓keyword等于被點擊內(nèi)容的innerHTML,應該是這個作用吧

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
搜索框制作
  • 參與學習       66018    人
  • 解答問題       463    個

本課程從簡入深講解搜索框的制作,學習JQ與JS實現(xiàn)Ajax技術(shù)的不同點

進入課程

這段代碼不理解

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

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

幫助反饋 APP下載

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

公眾號

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