久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 關(guān)于<a>元素與<input>元素的JS事件運(yùn)行問題

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

整體:javascript - 關(guān)于<a>元素與<input>元素的JS事件運(yùn)行問題

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

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

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

問題解答

回答1:

哈哈哈,真是個(gè)有意思的問題,看了一會(huì)會(huì)才發(fā)現(xiàn).是你的 a 標(biāo)簽沒有設(shè)定 href 屬性,點(diǎn)擊后會(huì)刷新頁面.相當(dāng)于: log global -> 點(diǎn)擊 log a ->刷新了又一遍 log global

第二個(gè) global 沒有才是正常的, 你往 a 標(biāo)簽里設(shè)個(gè) href='http://m.baoyu77737.com/wenda/4968.html#' 看看.

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

回答2:

在a標(biāo)簽事件綁定函數(shù)里寫上event.preventDefault();

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 宁津县| 沧州市| 莲花县| 波密县| 滕州市| 荣昌县| 宜昌市| 濮阳县| 明光市| 繁昌县| 镶黄旗| 仁寿县| 济南市| 乌鲁木齐县| 吉林省| 北流市| 湘阴县| 水富县| 蒙城县| 百色市| 镇坪县| 磐石市| 西丰县| 梧州市| 庆城县| 景宁| 永年县| 苏尼特左旗| 黎平县| 玛沁县| 延川县| 康马县| 加查县| 渭源县| 韶山市| 潜山县| 宕昌县| 台北市| 得荣县| 东港市| 白银市|