`
mymobile
  • 浏览: 180864 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javascript:阻止事件冒泡和阻止浏览器的默认行为

阅读更多
<a onclick="toggleFriendFuncList(event, '6708062', 'he');"></a>

由于href是空值,如果不阻止浏览器的默认行为,产生的效果就是刷新页面。
现在我们需要做的就是阻止href的链接事件,而去执行onclick事件。
老的处理方式

<a onclick="toggleFriendFuncList(event, '6708062', 'he');" href="javascript:void(0);"></a>

js的写法:
1)停止冒泡的写法

//如果提供了事件对象,则这是一个非IE浏览器
if ( e &amp;&amp; e.stopPropagation )
  // 因此它支持W3C的stopPropagation()方法
  e.stopPropagation();
else
  //否则,我们需要使用IE的方式来取消事件冒泡
  window.event.cancelBubble = true;
return false;

2)阻止浏览器的默认行为

//如果提供了事件对象,则这是一个非IE浏览器
if ( e&&e.preventDefault )
   //阻止默认浏览器动作(W3C)
  e.preventDefault();
else
  //IE中阻止函数器默认动作的方式
  window.event.returnValue = false;
return false;

jquery的写法:
1)return false :In event handler ,prevents default behavior and event bubbing 。
return false 在事件的处理中,可以阻止默认事件和冒泡事件。
2)event.preventDefault():In event handler ,prevent default event (allows bubbling) 。
event.preventDefault()在事件的处理中,可以阻止默认事件但是允许冒泡事件的发生。
3)event.stopPropagation():In event handler ,prevent bubbling (allows default behavior).
event.stopPropagation()在事件的处理中,可以阻止冒泡但是允许默认事件的发生

prototype的写法:
Event.stop(event)
用法介绍:
事件发生后,浏览器通常首先触发事件发生元素上的事件处理程序,然后是它的父元素,父元素的父元素……依此类推, 直到文档的根元素为止。这被称为 事件冒泡,是事件传播的最常见的方式。当处理好一个事件后, 你可能想要停止事件的传播,不希望它继续冒泡。
当你的程序有机会处理事件时,如果这个事件具有 默认行为,同时浏览器也会处理它。例如,点击导航链接、 将表单提交到服务器、在一个单行文本框中按下回车键等等。如果对这些事件你定义了自己的处理方式, 可能会非常希望阻止相关的默认行为。
分享到:
评论

相关推荐

    javascript阻止事件冒泡和浏览器的默认行为

    1.阻止事件冒泡,使成为捕获型事件触发机制. function stopBubble(e) { //如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation ) //因此它支持W3C的... //阻止浏览器的默认行为 functi

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

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

    js阻止默认浏览器行为与冒泡行为的实现代码

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

    javascript 兼容各个浏览器的事件

    dom 事件对象 type 属性用于获取事件对象, target属性 用于获取事件目标,stopPropagation()方法 阻止事件冒泡 preventDefault阻止事件的默认行为 IE中的事件对象 type 属性 用于获取事件对象, srcElement属性 ...

    jQuery阻止冒泡和HTML默认操作

     2:在当今的各个浏览器中都支持事件的冒泡,所谓的冒泡可以这样理解:  条件:外层有一个DIV元素,在内层有一个P元素,他两存在这样的关系:DIV是P元素的父元素,而P是外层DIV的子元素,他们之间存在包含和被包含...

    Javascript事件流(事件捕获、事件冒泡),事件委托(代理)

    大部分浏览器默认都是用IE的“事件冒泡”顺序(从里层向外层);而网景采用“事件捕获”顺序(从外层向里层)。使用冒泡流可以兼容更多的浏览器(IE6,7,8均只支持冒泡流)。事件流原理图如下: 看图: 1、(1-5)...

    Javascript 阻止浏览器默认操作的实现代码

    在浏览器事件中,会触发一些默认动作,比如:点击一个链接时,执行完捕获/冒泡动作后,会触发链接的默认事件:跳转到指定链接地址。

    前端笔记.zip

    同时具有阻止冒泡和阻止默认行为的功能 事件捕获:父元素的事件会影响子元素的事件; 开启事件捕获:event.addEventListener(eventName,handler,true) 7、请说说事件委托机制?这样做有什么好处? 事件委托,...

    利用jQuery的$.event.fix函数统一浏览器event事件处理

    在FF浏览器下则是:event.target,另外又比如在FF浏览器下得到光标相对页面的位置是event.pageX,而IE浏览器下的处理方式又是不一样的,当然还有一些像“阻止事件冒泡”以及“取消浏览器默认行为”等,不同浏览器也...

    浅谈javascript事件取消和阻止冒泡

    在支持addEventListener()的浏览器中,也能通过调用时间对象的preventDefault()方法取消时间的默认操作。不过,在IE9之前的IE中,可以通过设置事件对象的returnValue属性为false来达到同样的效果。下面的代码假设一...

    javascript常用函数(2)

    26、 阻止冒泡事件或阻止浏览器默认行为 27、 关闭或跳转窗口时提示 28、 用javascript获取地 址栏参数 29、 计算停留的时间 30、 div为空,只有背景时,背景自动增高  主要内容: 16、除去数组重复项 [removed]...

    biee:受浏览器启发的事件发射器

    该API受到YUI EventTarget的极大启发,而YUI EventTarget则由浏览器借用:具有默认行为和冒泡目标。 on(evtName, callback) :每当事件evtName触发时,都会调用callback 。 once(evtName, callback) :事件...

    原创-javascript服务器交互型可编辑表格和我的js常用库

    // 阻止事件默认浏览器行为 stopDefault : function(ev) { // w3c标准 if (ev && ev.preventDefault) { ev.preventDefault(); } // ie window.event.returnValue = false; return false; ...

    drag-and-drop实现图片浏览器预览

    今天刚试过chrome的drag and drop API,它能非常简单的将本地的图片放...前者将会阻止事件的冒泡,后者会阻止浏览器默认的行为。 这里我们定义一个ignoreDrag函数,用以实现上述功能: Html代码  var ignoreDrag =

    tools.js:封装了一些常用的方法,组成tools.js

    8.阻止事件冒泡 stopBubble 9.阻止默认事件 cancelHandler 10.拖拽 drag 11.获取滚动条的位置 getScrollOffset 12.获取浏览器可视区的宽高 getViewportOffse 13.数组去重 unique 14.数组排序 mySort 15.indexOf 兼容...

    客户端统一验证JavaScript函数库及示例源码

    CancelClientEvent()是使用事件冒泡阻止了事件的继续执行,同时设置返回值,最终成功阻止事件的继续往后执行,当在客户端触发一要回发的按钮事件是,想在程序里结束让其继续执行时,以往则不是很好处理,如Enter键,...

    javascript入门笔记

    Javascript Basic 1、Javascript 概述(了解) Javascript,简称为 JS,是一款能够运行在 JS解释器/引擎 中的脚本语言 JS解释器/引擎 是JS的运行环境: 1、独立安装的JS解释器 - NodeJS 2、嵌入在浏览器中的JS...

    JS中的触摸事件1

    1 给元素赋值触摸事件事件类型是否可以取消是否走完整个冒泡式出发过程描述浏览器对该事件的默认处理方式touchstart是是用户将某个触摸点置于触摸界面之上未定

Global site tag (gtag.js) - Google Analytics