window.onload = function () { var a = document.getElementById("a"); var btn = document.getElementById("btn"); function aFn () { console.log("aFn"); } function btnFn () { console.log('btnFn'); } a.onclick = function () { aFn(); } btn.onclick = function() { btnFn(); } console.log('global'); }我正在點擊這兩個事件時,發生了不一樣的情況?。繉τ赼元素:首先運行代碼,輸出console.log('global'),之后點擊a描點元素,如圖:對于button元素:首先運行代碼,輸出console.log('global'),之后點擊btn,如圖:整體:也就是說,click事件對于兩種元素執行的方式卻不同,a元素上的click事件會把函數外的代碼在執行一次,這是為什么?!剛才有人說在他的環境里用Chrome是正常的,我把console換成了alert,還是照舊。我也是用的chrome。但是在IE上,不是這樣,運行后彈出全局的alert,點擊a標簽后,先彈出函數里,后直接跳轉頁面了,不會有chrome里的情況。這咋回事兒呢?。ň庉嬈鳎篐Builder)PS:試寫一個輪播圖例子時候,用了a元素做箭頭按鈕,直接導致我的圖片無法切換55555(相當于點擊a時候又執行了一次全局作用域里的代碼。。。。)
關于<a>元素與<input>元素的JS事件運行問題
手掌心
2018-11-29 22:17:18