javascript - 关于<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’); }我正在点击这两个事件时,发生了不一样的情况!?对于a元素:首先运行代码,输出console.log(’global’),之后点击a描点元素,如图:对于button元素:首先运行代码,输出console.log(’global’),之后点击btn,如图:
整体:
刚才有人说在他的环境里用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='https://www.haobala.com/wenda/4968.html#' 看看.
另外请下次截图字大点....眼睛不好差点看不清.
在a标签事件绑定函数里写上event.preventDefault();
相关文章:
1. javascript - 如何用最快的速度C#或Python开发一个桌面应用程序来访问我的网站?2. android的checkbox在xml添加和在java代码中添加样式不一样?3. 前端 - 使用vue2服务端渲染的时候,如何在服务端请求数据,然后给vue渲染4. java - springMVC配置的controller无法返回jsp文件5. mysql 存储过程 和 函数有什么用??6. python - 关于beautifulsoup获取文档内容7. 路由 - nginx访问不了根目录下的文件怎么解决?8. javascript - 看一些高手写代码单独用 “$”和“_” 来表示变量,什么时候单独使用这两个字符?9. javascript - 项目用IE浏览器打开修改前端内容,后台数据修改了,但是前端页面内容不变,用谷歌浏览器测试前端页面可以刷新,求大神解决。10. mysql - jdbc的问题
