小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

js未傳入event參數(shù)時(shí)如何獲取當(dāng)前event(多瀏覽器)

 我的前端圖書館 2017-10-24

js對(duì)于函數(shù)的定義是非常松,即使你在函數(shù)定義時(shí)未寫任何參數(shù),或者你定義的參數(shù)有多個(gè),但是你調(diào)用時(shí),一個(gè)參數(shù)也不填,也不會(huì)出錯(cuò)的。
因?yàn)閖s函數(shù)內(nèi)默認(rèn)有個(gè)變量,保存你的入?yún)⒔校篴rguments,
他是一個(gè)數(shù)組,下標(biāo)從0開始,
所以獲取event可以寫成

function eventTest(){
    var event = window.event||arguments[0];
    //target 就是這個(gè)對(duì)象
    target = event.srcElement||event.target,
    //這個(gè)對(duì)象的值
    targetValue = target.value;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

當(dāng)然,有的時(shí)候需要給函數(shù)傳入幾個(gè)參數(shù),這時(shí)如果要用想用到event的話可以這么寫

function eventTest(a,b){
    var event = window.event || arguments.callee.caller.arguments[0]
    //target 就是這個(gè)對(duì)象
    target = event.srcElement||event.target,
    //這個(gè)對(duì)象的值
    targetValue = target.value;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如果傳入了參數(shù)卻如第一種寫法的話,則arguments中將會(huì)傳入傳入的參數(shù),這時(shí)獲取的arguments[0]就會(huì)是第一個(gè)傳入的參數(shù)了。

鑒于此,故還是都用第二中方法獲取更為穩(wěn)妥。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多