日期:2014-05-16  浏览次数:20284 次

JS:停止事件冒泡和阻止浏览器的默认行为 js/jquery/prototype
<
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 &
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 ha