国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - 關于<a>元素與<input>元素的JS事件運行問題

瀏覽:139日期:2023-05-09 15:56:26

問題描述

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’); }我正在點擊這兩個事件時,發生了不一樣的情況!?對于a元素:首先運行代碼,輸出console.log(’global’),之后點擊a描點元素,如圖:javascript - 關于<a>元素與<input>元素的JS事件運行問題對于button元素:首先運行代碼,輸出console.log(’global’),之后點擊btn,如圖:javascript - 關于<a>元素與<input>元素的JS事件運行問題

整體:javascript - 關于<a>元素與<input>元素的JS事件運行問題

也就是說,click事件對于兩種元素執行的方式卻不同,a元素上的click事件會把函數外的代碼在執行一次,這是為什么?!

剛才有人說在他的環境里用Chrome是正常的,我把console換成了alert,還是照舊。我也是用的chrome。但是在IE上,不是這樣,運行后彈出全局的alert,點擊a標簽后,先彈出函數里,后直接跳轉頁面了,不會有chrome里的情況。這咋回事兒呢!(編輯器:HBuilder)

PS:試寫一個輪播圖例子時候,用了a元素做箭頭按鈕,直接導致我的圖片無法切換55555(相當于點擊a時候執行了一次全局作用域里的代碼。。。。)

問題解答

回答1:

哈哈哈,真是個有意思的問題,看了一會會才發現.是你的 a 標簽沒有設定 href 屬性,點擊后會刷新頁面.相當于: log global -> 點擊 log a ->刷新了又一遍 log global

第二個 global 沒有才是正常的, 你往 a 標簽里設個 href='http://www.intensediesel.com/wenda/4968.html#' 看看.

另外請下次截圖字大點....眼睛不好差點看不清.javascript - 關于<a>元素與<input>元素的JS事件運行問題

回答2:

在a標簽事件綁定函數里寫上event.preventDefault();

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 宜兴市| 双城市| 蓝山县| 巴林左旗| 兴隆县| 宜章县| 新建县| 天门市| 河东区| 茌平县| 南木林县| 涡阳县| 兰西县| 进贤县| 临汾市| 普兰店市| 图木舒克市| 新闻| 婺源县| 雷波县| 新蔡县| 杂多县| 张家口市| 育儿| 铜川市| 古浪县| 陕西省| 定陶县| 西乌| 宜城市| 万盛区| 巴彦县| 宁德市| 新民市| 四会市| 民丰县| 宝兴县| 汉川市| 双桥区| 琼中| 马公市|