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

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

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

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. IE 扩展调用主窗体中的函数

    IE 扩展调用主窗体中的函数 在函数名前加上 parentWindow 就可以.如: <script>     var doc = external.menuArguments.docum ...

  2. 机房收费系统(VB.NET)个人版总结

    重构版个人机房收费系统大概从暑假开学開始进行.花了不到一个半月的时间才完毕.以下对我在重构过程中的一写理解. 1.系统设计一个非常重要的目的就是重用.而要做到重用,低耦合是最有效的手段回想一下我们C/ ...

  3. JavaScript 模拟键盘事件

    JavaScript 模拟键盘事件和鼠标事件(比如模拟按下回车等) 2016年09月08日 15:23:25 神秘_博士 阅读数:41158 标签: javascript鼠标键盘事件模拟更多 个人分类 ...

  4. IPv4与IPv6数据报格式

    IPv4: IPv4数据报中的字段: 版本号:规定了数据报的IP协议版本,通过查看版本号,路由器能够确定如何解释IP数据报的剩余部分,因为不同IP版本使用不同的数据报格式. 首部长度:IPv4数据报可 ...

  5. js对象的属性问题

    ES6之前js的对象的属性只能是字符串, <html> <head> <script type="text/javascript"> var a ...

  6. Redis相关知识

    Redis 存储的五种 字符串类型:string 一个String类型的value最大可以存储512M String是最常用的一种数据类型,普通的key/value存储. 散列类型:  hash 键值 ...

  7. openwrt gstreamer实例学习笔记(二.gstreamer 的 Element)

    对程序员来说,GStreamer 中最重要的一个概念就是 GstElement 对象.该对象是构建一个媒体管道的基本块.所有上层(high-level)部件都源自GstElement对象.任何一个解码 ...

  8. 手把手编写自己的PHPMVC框架

    1 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller ...

  9. scala快速学习笔记(三):Collections,包

    VI.Collections 1.Array 一些常用方法:println,  map( _ * 2), filter(_ % 2 == 0),  sum,   reserve Array是不可变的, ...

  10. createDocumentFragment 文档碎片提升dom增删的性能

    原理: 操作dom会使得页面进行重新渲染,如果 经常性的对dom就行操作或者一次性操作dom较多,每一次操作都会使页面进行重新渲染,降低页面加载性能. 针对IE9以下,可以使用文档碎片(documen ...