JS:停止事件冒泡和阻止浏览器的默认行为 js/jquery/prototype

JS:停止事件冒泡和阻止浏览器的默认行为 js/jquery/prototype

<a οnclick="toggleFriendFuncList(event, '6708062', 'he');"></a>

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

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

prototype1.6API下载:http://www.yovou.com/book/Prototype-1.6.0-zh.chm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值