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

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

在Dom事件中QQ拖拽源代碼問題

在Dom事件中QQ拖拽源代碼問題:

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

正在回答

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;

//這里是給上面獲取的元素添加鼠標點擊事件fnDown

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

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

//因為這是預(yù)先注冊了鼠標點擊事件,而.onmouseup是觸發(fā)了鼠標點擊事件調(diào)用了fnDown函數(shù)現(xiàn)場現(xiàn)注冊的。

//而如果你把? ? document.onmouseup=function(){...}放在外面的話 document就不是oTitle了,所以oTitle就沒//有鼠標釋放事件了,所以就你的鼠標一直沒松開,所以你的鼠標一直在點擊,所以你的鼠標移動就一直在拖動div,所以你懂了嗎?
? ???

}


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

過客彳亍 提問者

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

過客彳亍 提問者

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

不要過于強迫癥了哈,

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;

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


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

FloatingShuYin

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

舉報

0/150
提交
取消
DOM事件探秘
  • 參與學(xué)習(xí)       99527    人
  • 解答問題       1305    個

DOM事件?本課程會通過實例來給小伙伴們講解如何使用這些事件

進入課程

在Dom事件中QQ拖拽源代碼問題

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

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

幫助反饋 APP下載

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

公眾號

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