javascript - html中阻止默认事件
问题描述
<!DOCTYPE HTML><html lang='en-US'><head> <meta charset='UTF-8'> <title></title></head><body> <a href='http://www.qq.com' onclick = 'return f1()'>腾讯</a> <script type='text/javascript'>//定义f1函数function f1(){ console.log( ’腾讯被点击了’); return false;}</script></body></html>
问题解答
回答1:onclick是个函数,不return就是没有返回值,怎么阻止默认事件?跟你f1是否return没有关系
回答2:能不能阻止默认行为是看onclick函数的返回值,有return的时候,返回f1的返回值false。
不写return的onlick处理函数如下,此时的返回值因为没有return语句,所以默认返回undefined
回答3:浏览器会对页面元素的某些元素产生默认行为。比如一个 a 链接点击之后,会自动跳转至对应 href 地址网页去;又如一个表单,当你点击 提交 按钮之后,默认会将数据发送至 form 的 action 地址去。这些都是浏览器的处理页面元素的默认行为,当 onlick = 'return false' 时,会禁止掉这种浏览器的默认行为。故而你的这段代码并不会跳转至 腾讯首页 去。<a href='http://www.qq.com' onclick = 'return f1()'>腾讯</a> function f1(){console.log( ’腾讯被点击了’);return false; }
另外,你应该善用搜索引擎,百度一下,第一条就可以解决掉你的困惑,地址如下:https://zhidao.baidu.com/ques... 。望共同进步,共勉之~
回答4:<a href='http://www.baidu.com' onclick='myFun(event)'>123</a>function myFun(e) { e.preventDefault(); console.log(12313123)}
这样岂不是更简单。。。。用e.preventDefault();来阻止
还有,既然要阻止,干嘛还要在页面上写上链接。。。
回答5:onclick属性的值是js代码,return f1(),如果f1()返回false的话,return f1()就代表return false。当然,这个return是有点多余,但是语法也没错。只要语法没错,实现了就行。
相关文章:
1. debian - docker依赖的aufs-tools源码哪里可以找到啊?2. dockerfile - [docker build image失败- npm install]3. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?4. docker绑定了nginx端口 外部访问不到5. 如何判断数组写入数据库有重复的值6. boot2docker无法启动7. docker start -a dockername 老是卡住,什么情况?8. macos - mac下docker如何设置代理9. angular.js - angularjs移动端项目需要引入外部的PC网页,iframe宽高设定100%,显示的内容依然是PC那种效果,不是缩放成适配屏10. mac连接阿里云docker集群,已经卡了2天了,求问?