如题,话不多话,我们先看怎么解决

根据不同的绑定事件的方法,我们有不同的阻止默认事件的方法

如果你不知到如何绑定事件,请查看我的上一篇文章 关于浏览器滚动的兼容性问题以及事件绑定

1.句柄绑定

  只需要在代码块的最后一行添加一行

  return false;

2."addEventListener"绑定

即:

DOM.addEventListener("click", function (e) {

  var event = e || window.event;

}, false);

  两种情况:

  1.除Chrome之外的浏览器

   在function函数中添加event.preventDefault();

  2.Chrome浏览器

   出了在function函数中添加event.preventDefault(),还需要把false改为{passive: false}

我们在往下讲之前我们先讲解一下绑定事件函数里面的e是什么意思,其实这个e是针对FF浏览器的一个参数

通过这个参数我们可以获取"click"事件发生时的各种参数,比如我们是点击的左键还是右键,鼠标当前在屏幕(文档,为了方便理解我们这里使用的屏幕,其实屏幕和文档是有区别的)中的坐标

var event = e || window.event;也就是起到了兼容各个浏览器的作用,更加详细的方面你可以去查看其它的文档

比如这篇文章:为什么JS事件函数里面都有一个参数(ev)?

3."attachEvent"绑定的事件

只有一个return false;

这里就比较有意思了,"attachEvent" 绑定事件和 "addEventListener"绑定事件的方式这么像居然不能用event.preventDefault();这个方法

不过我觉得也不难理解,毕竟"attachEvent" 绑定事件是在IE8以下的浏览器实现的,而event.preventDefault()方法是后面出来的

其实还有一个比较有意思的事情( 上一篇跟大家说过要讲的 ):

attachEvent虽然不能在IE9及其以上的浏览器绑定事件,但是!但是!它却可以用来在IE9以上的浏览器阻止默认事件(亲测可用)

到此,关于浏览器默认事件的阻止告一段落,如果你有什么更有意思的见解欢迎在下方留言评论交流

原创文章

如何阻止浏览器的默认事件,你是否也遇到过无法阻止Google默认事件的情况( 原生JS )的更多相关文章

  1. js /jquery停止事件冒泡和阻止浏览器默认事件

    1>js阻止冒泡事件 var el = window.document.getElementById("a"); el.onclick = function (e) { // ...

  2. JQuery 阻止js事件冒泡 阻止浏览器默认操作

    //阻止事件冒泡 event.stopPropagation(); //阻止浏览器默认操作 event.preventDefault(); 代码不一定能执行,写给自己看的. 事件冒泡: <a h ...

  3. js 停止事件冒泡 阻止浏览器的默认行为(阻止超连接 # )

    在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 1..停止事件冒泡 JavaScript代码 //如果提供了事件对象,则这是一个非IE浏览器if ( ...

  4. JS 阻止浏览器默认行为和冒泡事件

    JS 冒泡事件   首先讲解一下js中preventDefault和stopPropagation两个方法的区别: preventDefault方法的起什么作用呢?我们知道比如<a href=& ...

  5. js添加事件、移除事件、阻止冒泡、阻止浏览器默认行为等写法(兼容IE/FF/CHROME)

    转自:http://blog.csdn.net/itchiang/article/details/7769341 添加事件   var addEvent = function( obj, type, ...

  6. 理解阻止浏览器默认事件和事件冒泡cancelBubble

    一.阻止浏览器默认事件 1.先举个例子说什么是 浏览器的默认事件 : 比如有一个输入框,当我按下字母a,就会在输入框显示字母a.就是浏览器本该发生的事情.小孩子一出生就会汲取母乳一样的道理,这些都是先 ...

  7. js阻止浏览器默认事件

    1.阻止浏览器的默认行为 function stopDefault(e) { //如果提供了事件对象,则这是一个非IE浏览器 if(e && e.preventDefault) { / ...

  8. js 停止事件冒泡 阻止浏览器的默认行为(阻止a标签跳转 )

    在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到"停止事件冒泡"和"阻止浏览器默认行为". 1..停止事件冒泡 JavaScript代码 //如果提供了 ...

  9. javaScript事件机制深入学习(事件冒泡,事件捕获,事件绑定方式,移除事件方式,阻止浏览器默认行为,事件委托,模拟浏览器事件,自定义事件)

    前言 JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间.可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码.这种在传统软 ...

随机推荐

  1. hdu 2795(单点改动)

    题意:有h×w大的公告板.有n条公告要写入,每条公告高度都是1,宽度是wi,每次从最上最左的空位写,假设有空位输出第几行.假设没有足够空位输出-1. 题解:注意h最大1e9.但事实上是看n的大小.由于 ...

  2. openstack 中国联盟公开课參会总结

    主流趋势 1. openstack defcore 互操作性认证.打通不同的openstack 厂商之间的连接 2. 首批OpenStack管理员认证(COA)将于2016年进行 3. 混合云应用广泛 ...

  3. C++ Primer 学习笔记与思考_7 void和void*指针的使用方法

    (一)void的含义 void的字面意思是"无类型",void差点儿仅仅有"凝视"和限制程序的作用,由于从来没有人会定义一个void变量,让我们试着来定义: v ...

  4. 《Unix网络编程》中的错误处理函数

    #include "net.h" #include <syslog.h> // syslog() int daemon_proc; static void err_do ...

  5. 命令行添加PATH

    如何设置PATH 命令:echo "export PATH=xxxxxx:$PATH" >> ~/.bash_profile 解释:把"export PATH ...

  6. sanic官方文档解析之logging和request Data

    1,sanic的logging: Sanic允许有做不同类型的日志(通过的日志,错误的日志),在基于Python3的日志API接口请求,你必须具备基本的Python3的日志知识,在你如果想创建一个新的 ...

  7. Xamarin.Android 记事本(二)自定义AlertDialog

    导读 1.自定义一个AlertDialog 2.添加一条数据 正文 记事本应当有一个添加功能,这里我打算在右上角放一个item,然后点击这个item弹出一个对话框,输入名称,点击确定跳转到另一个act ...

  8. 使用TASM编译COFF格式和连接

    看到网络上流传的一份Drocon的mercury的代码程序源码使用TASM32编译使用MASM32来连接...关键的地方就在这里为什么要使用TASM编译...正常情况下TASM连接出来的程序代码体积远 ...

  9. MySQL基本语句优化10个原则

    在数据库应用中,程序员们通过不断的实践总结了很多经验,这些经验是一些普遍适用的规则.每一个程序员都应该了解并记住它们,在构造SQL语句时,养成良好的习惯.以下10条比较重要的原则供大家参考. 原则1: ...

  10. Educational Codeforces Round 10 D. Nested Segments

    D. Nested Segments time limit per test 2 seconds memory limit per test 256 megabytes input standard ...