关于event.preventDefault();

woshiweiwei11 2011-11-10 10:47:49
<script type="text/javascript">
$(document).ready(function(){
$("a").click(function(event){
event.preventDefault();
});
});
</script>
</head>
<body>
<a href="http://w3school.com.cn/">W3School</a> 这个函数不是组织网页打开的么 为什么我测试下 还是打开了呢 真不明白 如果再这个后面加上一个window.open(www.baidu.com)为什么打不开百度 还是打开W3C呢 这是两个问题
...全文
1171 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggj00006 2012-02-17
  • 打赏
  • 举报
回复
<script type="text/javascript">
$(document).ready(function () {
$("a").click(function (e) {先判断这句(T or F); e.preventDefault();
});
});
</script>
ggj00006 2012-02-17
  • 打赏
  • 举报
回复
貌似好像是
<script type="text/javascript">
$(document).ready(function () {
$("a").click(function (e) {先执行这句:alert("OK");
e.preventDefault();
});
});
</script>
woshiweiwei11 2011-11-10
  • 打赏
  • 举报
回复
如何查看Jquery库的源码啊
woshiweiwei11 2011-11-10
  • 打赏
  • 举报
回复
jq把event做了些修改来兼容各个浏览器,具体可以看jq源码中的fix函数
[/Quote] 如何查看jq的源码啊
默默不得鱼 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 woshiweiwei11 的回复:]
楼上的大哥 我明白了 是不是event.preventDefault()这个函数是Jquery库里的 所以要先引用下Jquery 是这么回事么??
[/Quote]
jq把event做了些修改来兼容各个浏览器,具体可以看jq源码中的fix函数
三石-gary 2011-11-10
  • 打赏
  • 举报
回复
IE是支持的。。。为什么在用JQEURY语句之前都要引用JQ库。。具体我也说不大明白。。。反正不引用的话会报错的。。难道你运行上面代码的时候没发现?
woshiweiwei11 2011-11-10
  • 打赏
  • 举报
回复
楼上的 你说IE不支持不对吧 我用IE阻止了 如果不用这个方法IE能打开网址 用了就阻止了 IE还是好使的 event.preventDefault()不是Jquery库里的 那是哪里的??
hh161151 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 woshiweiwei11 的回复:]
楼上的大哥 我明白了 是不是event.preventDefault()这个函数是Jquery库里的 所以要先引用下Jquery 是这么回事么??
[/Quote]
event.preventDefault()不是Jquery库里面的,不知道你用的是什么浏览器,如果是ie的话就不行了,ie下阻止不是用的这个,兼容的方法:
event = event ? event : window.event;
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
}
woshiweiwei11 2011-11-10
  • 打赏
  • 举报
回复
楼上的大哥 我明白了 是不是event.preventDefault()这个函数是Jquery库里的 所以要先引用下Jquery 是这么回事么??
默默不得鱼 2011-11-10
  • 打赏
  • 举报
回复
return false不就不跳转了?
注意看jquery源码
var ret = handleObj.handler.apply( this, args );

if ( ret !== undefined ) {
event.result = ret;
if ( ret === false ) {
event.preventDefault();
event.stopPropagation();
}
}

if ( event.isImmediatePropagationStopped() ) {
break;
}
三石-gary 2011-11-10
  • 打赏
  • 举报
回复
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
type="text/javascript"></script>
三石-gary 2011-11-10
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("a").click(function (event) {
event.preventDefault();
});
});
</script>
</head>
<body>
<a href="http://w3school.com.cn/">W3School</a>

</body>
</html>

[color=#FF0000]]<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
type="text/javascript"></script>[/color
三石-gary 2011-11-10
  • 打赏
  • 举报
回复
http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_event_preventdefault

这不就是你的例子吗?。。你看看是不是你少了什么东西啊。。明白?
woshiweiwei11 2011-11-10
  • 打赏
  • 举报
回复
不明白你说的什么意思 event.preventDefault()这个函数不是阻止窗口打开么 为什么最后还是打开那个网页了呢
三石-gary 2011-11-10
  • 打赏
  • 举报
回复
你像W3C引用了JQEURY?
hh161151 2011-11-10
  • 打赏
  • 举报
回复
你所说的开发网站指的是什么,是专门的js吗,一个网站需要的人员可多着呢,有后台有前台。如果单是说javascript开发工程师的话,现在市场比较紧缺,很多大公司招不到合适的人员,我有个同事,被别的公司挖去,工资15k左右,不过这个是比较高的,一般没有这么多的。
woshiweiwei11 2011-11-10
  • 打赏
  • 举报
回复
我想问问这个行业发展前途怎么样 开发网站的 工资是不是不高啊
hh161151 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 woshiweiwei11 的回复:]
你现在是搞网站开发的吗?
[/Quote]
怎么讲,还是不理解吗?
woshiweiwei11 2011-11-10
  • 打赏
  • 举报
回复
你现在是搞网站开发的吗?
hh161151 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 woshiweiwei11 的回复:]
楼上的 你的意思我明白一半吧 那你能告诉我 event.preventDefault()这个方法是哪里的么?为什么要引用Jquery(从www.jquery。com)下载的 为什么在编程之前要引用这个啊 引用这个 这个方法才好使
[/Quote]
event.preventDefault()这个方法是在标准浏览器下event对象所具有的方法,只是在ie下是无效的,所以说在火狐浏览器或者其他标准浏览器,如chrome下,是必须用这个方法的,用returnValue就不行了,只是ie下用returnValue,所以在jquery内部已经做好了兼容处理,好比在jquery内部:


function preventDefault(event){
event = event ? event : window.event;
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
}
}
加载更多回复(2)

87,990

社区成员

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

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