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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

小白問個事件監聽傳參數的問題

小白問個事件監聽傳參數的問題

路人戊_ 2018-02-25 23:41:20
一個函數,當事件發生的時候觸發事件的元素改變屬性,要用到this參數。用addEventListener不能傳參數(我想傳一個this過去),網上的方法有點復雜看不懂,所以我想到用setAttribute的方法試試,沒想到也能運行,但是網上說這方法不行,為什么;var a = true;function fn(_this){if(a){_this.style.background='#f00';}else{_this.removeAttribute("style");}a = !a;}document.getElementById('input1').setAttribute('onclick','fn(this)');//HTML<form action="456" method="get" accept-charset="utf-8"><input id="input1" type="button" name="a123" value="645" style="color:#ccc"></form>
查看完整描述

1 回答

已采納
?
ruibin

TA貢獻358條經驗 獲得超213個贊

其實沒有那么復雜,你綁定在函數里面直接使用this就行,這時候函數里面的this就指向你綁定點擊事件的元素(input1)。你這樣做其實也可以,但是不使用的addEventListener綁定的事件,有些缺陷(只能綁定一個)。

查看完整回答
2 反對 回復 2018-02-26
  • 路人戊_
    路人戊_
    感謝感謝,仔細看了下,原來fn不用加引號,我就說咯 var a = true; function fn(){ if(a){ this.style.background='#f00'; }else{ this.removeAttribute("style"); } a = !a; } document.getElementById('input1').addEventListener('click',fn) //給其他同學參考
  • 1 回答
  • 0 關注
  • 1068 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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