jQuery中event.preventDefault() 和 event.stopPropagation() 的用法及区别

wanyuben 2008-12-05 11:24:17
(1)jQuery中event.preventDefault() 和 event.stopPropagation() 的用法及区别 ?
(2)为什么在使用时ie6下会提示 “对象不支持此属性或方法” ?
以下为测试用代码:
function popup_show(e)
{
$("#popup").css("visibility","visible");
$("#popup").css("display","block");

$("#voteThis").click(function(){
var voteMessage = $(".input_votetext").val();
alert(voteMessage);
$("#popup").fadeOut("slow");
event.preventDefault();
});

}
...全文
22099 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangchuan2009 2011-05-12
  • 打赏
  • 举报
回复
event.preventDefault()方法是用于取消事件的默认行为,但此方法并不被ie支持,在ie下需要用window.event.returnValue = false; 来实现。
ac13 2010-10-24
  • 打赏
  • 举报
回复
学习下
tex2 2009-09-02
  • 打赏
  • 举报
回复
asasas
sevk 2009-06-07
  • 打赏
  • 举报
回复
和IE不同的是,W3C DOM中的Event对象并不是window全局对象下面的属性,换句话说,event不是全局变量。通常在DOM二级标准中,event作为发生事件的文档对象的属性。Event含有两个子接口,分别是UIEvent和MutationEvent,这两个子接口实现了Event的所有方法和属性,而MouseEvent接口又是UIEvent的子接口,所以实现了UIEvent和Event的所有方法和属性。

建议查一下 stopPropagation w3c
W3C 是标准的。
http://www.68design.net/Development/JSP/31865-3.html
wanyuben 2008-12-08
  • 打赏
  • 举报
回复
3Q
peacock 2008-12-05
  • 打赏
  • 举报
回复
这不是JQuery的方法,是JS本身自带的

event.preventDefault()
该方法将通知 Web 浏览器不要执行与事件关联的默认动作(如果存在这样的动作)。例如,如果 type 属性是 "submit",在事件传播的任意阶段可以调用任意的事件句柄,通过调用该方法,可以阻止提交表单。注意,如果 Event 对象的 cancelable 属性是 fasle,那么就没有默认动作,或者不能阻止默认动作。无论哪种情况,调用该方法都没有作用。

event.stopPropagation()
该方法将停止事件的传播,阻止它被分派到其他 Document 节点。在事件传播的任何阶段都可以调用它。注意,虽然该方法不能阻止同一个 Document 节点上的其他事件句柄被调用,但是它可以阻止把事件分派到其他节点。

event是DOM的事件方法,所以不是单独使用,比如指定DOM

由于只看到你的代码片段,无法准确判断全部的问题,你试试下面的方法:

event.preventDefault();
改成
e.preventDefault();
Even713 2008-12-05
  • 打赏
  • 举报
回复
帮顶~
  • 打赏
  • 举报
回复
关注下

52,799

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧