亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

為什么這么寫提交上去表格直接就是紅色?

? ? window.onload = function(){

? ? ? ? trlist=document.getElementsByTagName("tr");

? ? ? ? for(var i=0;i<trlist.length;i++){

? ? ? ? ?trlist[i].onmouseover=bgcChange(trlist[i]);

? ? ? ? ?trlist[i].onmouseout=function(){this.style.backgroundColor="#fff"}

? ? ? ? }

}

? ? function bgcChange(a){

? ? ? ? a.style.backgroundColor="red";

? ? }



正在回答

4 回答

如果直接這么寫:

trlist[i].onmouseover=bgcChange(trlist[i]);

這里bgcChange是一個自執行函數,而并不是事件函數,因此一加載頁面就會執行;

但也不能這么寫:

trlist[i].onmouseover=function(){
????bgcChange(trlist[i]);???//改成:bgcChange(this);?
}

這么也i值為定數(i為trlist.length),因此要寫成你的mouseout事件的格式,用this.

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

stone310

這里this表示當前觸發事件的對象,例如鼠標移到第一個 ,this就是trlist[0],移到第二個,this就是trlist[1]...
2016-10-30 回復 有任何疑惑可以回復我~
#2

林鴻伯3985306 提問者

恩 ,下面這個我也寫過。。 這個循環是不是在頁面加載完以后就已經停在i=3了? 我再看看書。。
2016-10-30 回復 有任何疑惑可以回復我~
#3

stone310 回復 林鴻伯3985306 提問者

循環加載完后,i為trlist.length
2016-10-30 回復 有任何疑惑可以回復我~
#4

林鴻伯3985306 提問者

非常感謝!
2016-10-30 回復 有任何疑惑可以回復我~
查看1條回復

方便把全部代碼貼出來嗎


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

林鴻伯3985306 提問者

這就是全部代碼了,你貼上去就會發現全是紅的,鼠標移過去紅色消失,我覺得是前半句(trlist[i].onmouse=)直接被忽略了,只執行了函數bgcChange(trlist[i]);
2016-10-30 回復 有任何疑惑可以回復我~

this就是代表trlist[i],然后this.style.backgroundColor=“red”就是直接給他們每一個都設置了顏色!

function bgcChange(a){

? ? ? ? a.style.backgroundColor="red";

? ? }

這個函數和

?trlist[i].onmouseout=function(){this.style.backgroundColor="#fff"}只要一個就好了

你用了兩種方法設置了顏色

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

林鴻伯3985306 提問者

沒有重復,一個設置的onmouseover ,另一個設置的onmouseout, 這樣寫只是為了看看哪個出問題了。 我現在的問題就是用trlist[i].onmouseout=function(){this.style.backgroundColor="#fff"}設置屬性 是可以等到事件發生再響應的 ,如果用 function bgcChange(a)設置,它直接在頁面加載的時候直接把顏色全填上去了,沒法響應。
2016-10-29 回復 有任何疑惑可以回復我~

因為window.onload意思就是頁面一加載就運行!bgcChange(trlist[i]);調用了函數? function bgcChange(a)所以為紅色

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

林鴻伯3985306 提問者

那為什么trlist[i].onmouseover=function(){this.style.backgroundColor="red"}這種寫法就可以了?
2016-10-29 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么這么寫提交上去表格直接就是紅色?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號