javascript - 關(guān)于<a>元素與<input>元素的JS事件運行問題
問題描述
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’); }我正在點擊這兩個事件時,發(fā)生了不一樣的情況!?對于a元素:首先運行代碼,輸出console.log(’global’),之后點擊a描點元素,如圖:對于button元素:首先運行代碼,輸出console.log(’global’),之后點擊btn,如圖:
整體:
剛才有人說在他的環(huán)境里用Chrome是正常的,我把console換成了alert,還是照舊。我也是用的chrome。但是在IE上,不是這樣,運行后彈出全局的alert,點擊a標簽后,先彈出函數(shù)里,后直接跳轉(zhuǎn)頁面了,不會有chrome里的情況。這咋回事兒呢!(編輯器:HBuilder)
PS:試寫一個輪播圖例子時候,用了a元素做箭頭按鈕,直接導(dǎo)致我的圖片無法切換55555(相當于點擊a時候又執(zhí)行了一次全局作用域里的代碼。。。。)
問題解答
回答1:哈哈哈,真是個有意思的問題,看了一會會才發(fā)現(xiàn).是你的 a 標簽沒有設(shè)定 href 屬性,點擊后會刷新頁面.相當于: log global -> 點擊 log a ->刷新了又一遍 log global
第二個 global 沒有才是正常的, 你往 a 標簽里設(shè)個 href='http://www.piao2010.com/wenda/4968.html#' 看看.
另外請下次截圖字大點....眼睛不好差點看不清.
在a標簽事件綁定函數(shù)里寫上event.preventDefault();
相關(guān)文章:
1. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現(xiàn)存在即更新應(yīng)該使用哪個標簽?2. 哭遼 求大佬解答 控制器的join方法怎么轉(zhuǎn)模型方法3. mysql儲存json錯誤4. mysql - 怎么生成這個sql表?5. mysql - 數(shù)據(jù)庫表中,兩個表互為外鍵參考如何解決6. Navicat for mysql 中以json格式儲存的數(shù)據(jù)存在大量反斜杠,如何去除?7. sql語句 - 如何在mysql中批量添加用戶?8. mysql - 表名稱前綴到底有啥用?9. 編輯成功不顯示彈窗10. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。
