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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

在Dom事件中QQ拖拽源代碼問(wèn)題

在Dom事件中QQ拖拽源代碼問(wèn)題:

請(qǐng)問(wèn)各位大神:onmouseup放在onmousedown中和放在onmousedown外有什么區(qū)別么? 我先放在onmousedown中,按下幾次釋放后都沒(méi)有什么問(wèn)題,可是如果onmouseup放在onmousedown外面,當(dāng)?shù)诙伟聪聲r(shí)松開(kāi)鼠標(biāo)窗口還是跟著鼠標(biāo)走,此時(shí)貌似onmouseup沒(méi)有效用?想問(wèn)下這種情況是為什么,謝謝!

正在回答

2 回答

function getByClass(clsName,parent){
? var oParent=parent?document.getElementById(parent):document,
????? eles=[],
????? elements=oParent.getElementsByTagName('*');

? for(var i=0,l=elements.length;i<l;i++){
??? if(elements[i].className==clsName){
????? eles.push(elements[i]);
??? }
? }
? return eles;
}

//這里定義了getByClass()

var oTitle=getByClass('login_logo_webqq','loginPanel')[0];
?? //這里調(diào)用了上面的getByClass(),目的是為了獲取指定父族元素下指定類名的元素

?? oTitle.onmousedown=fnDown;

//這里是給上面獲取的元素添加鼠標(biāo)點(diǎn)擊事件fnDown

function fnDown(event){
? event = event || window.event;
? var oDrag=document.getElementById('loginPanel'),
????? // 光標(biāo)按下時(shí)光標(biāo)和面板之間的距離
????? disX=event.clientX-oDrag.offsetLeft,
????? disY=event.clientY-oDrag.offsetTop;
? // 移動(dòng)
? document.onmousemove=function(event){
? ?? ?event = event || window.event;
? ?? ?fnMove(event,disX,disY);
? }
? // 釋放鼠標(biāo)
? document.onmouseup=function(){
? ?? ?document.onmousemove=null;
? ?? ?document.onmouseup=null;

//最后你的問(wèn)題,你說(shuō)為什么不能把這句放在外面fnDown函數(shù)外面嗎?

//因?yàn)檫@是預(yù)先注冊(cè)了鼠標(biāo)點(diǎn)擊事件,而.onmouseup是觸發(fā)了鼠標(biāo)點(diǎn)擊事件調(diào)用了fnDown函數(shù)現(xiàn)場(chǎng)現(xiàn)注冊(cè)的。

//而如果你把? ? document.onmouseup=function(){...}放在外面的話 document就不是oTitle了,所以oTitle就沒(méi)//有鼠標(biāo)釋放事件了,所以就你的鼠標(biāo)一直沒(méi)松開(kāi),所以你的鼠標(biāo)一直在點(diǎn)擊,所以你的鼠標(biāo)移動(dòng)就一直在拖動(dòng)div,所以你懂了嗎?
? ???

}


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

過(guò)客彳亍 提問(wèn)者

謝謝您的回答!我稍微理解了您的意思。 但是評(píng)論您的回答不能超過(guò)300字,所以我就在下面回答了下,請(qǐng)您看一下,麻煩了! “但是當(dāng)我把fnDown函數(shù)中的onmouseup事件去除,之后在oTitle.onmousedown=fnDown;后面加上.......” 就是這條回答
2017-10-10 回復(fù) 有任何疑惑可以回復(fù)我~
#2

過(guò)客彳亍 提問(wèn)者

非常感謝!謝謝
2017-11-26 回復(fù) 有任何疑惑可以回復(fù)我~

不要過(guò)于強(qiáng)迫癥了哈,

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

謝謝您的回答!我稍微理解了您的意思。

但是當(dāng)我把fnDown函數(shù)中的onmouseup事件去除,之后在oTitle.onmousedown=fnDown;后面加上

? ? ?oTitle.onmousedown=fnDown;

? ? //alert(document);

? ? oTitle.onmouseup=function(){

? ? ? ? //alert(document);

? ? ? ? // alert(oTitle);

? ? ? ? // this.onmousedown=null;

? ? ? ? this.onmousemove=null;

? ? ? ? this.onmouseup=null;

之后拖拽功能還是不能實(shí)現(xiàn),您說(shuō)“document就不是oTitle”,可是現(xiàn)在我是在oTitle上面+的onmouseup事件,拖拽功能還是實(shí)現(xiàn)不了,不明白。(我就是想著onmousedown和onmouseup是一對(duì),看著onmouseup在onmousedown里面怪難受,看看能不能將onmouseup放在外面)


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

FloatingShuYin

最近沒(méi)有登慕課,遲來(lái)的回答! 也許你已經(jīng)明白了,也許沒(méi)有,我還是回答以下把。 onmousedown 是什么? 是鼠標(biāo)按下! onmouseup 是什么? 是鼠標(biāo)松開(kāi)! 請(qǐng)注意,你的鼠標(biāo)默認(rèn)就是松開(kāi)的,所以如果不把onmouseup事件放在onmousedown事件里面,那么onmouseup事件將一直處入觸發(fā)狀態(tài)!這顯然不符合邏輯,符合邏輯的是我按下鼠標(biāo)然后觸發(fā)onmousedown事件,**按下鼠標(biāo)后松開(kāi)** 才能夠觸發(fā)onmouseup事件。
2017-11-20 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
DOM事件探秘
  • 參與學(xué)習(xí)       99532    人
  • 解答問(wèn)題       1291    個(gè)

DOM事件?本課程會(huì)通過(guò)實(shí)例來(lái)給小伙伴們講解如何使用這些事件

進(jìn)入課程

在Dom事件中QQ拖拽源代碼問(wèn)題

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

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

幫助反饋 APP下載

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

公眾號(hào)

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