gideal_wang 2010-01-26 04:54:03
大家看一下哪个可以实现跳转,哪个不跳转?
<script type="text/javascript">
function ToUrl(x)
{
location.href=x;
}
</script>
<a href="javascript:;" onclick="javascript:ToUrl('http://www.g.cn');">
location.href不跳转测试1</a>
<a href="javascript:void(0);"
onclick="javascript:ToUrl('http://www.g.cn');">
location.href不跳转测试2</a>
<a href="javascript:void(0);"
onclick="javascript:ToUrl('http://www.g.cn');return false;">
location.href不跳转测试3</a>
<a href="#" onclick="javascript:ToUrl('http://www.g.cn');">
location.href不跳转测试4</a>
<a href="###" onclick="javascript:ToUrl('http://www.g.cn');">
location.href不跳转测试5</a>

我用IE8测试全部跳转!应该是有不跳转的啊?
...全文
20132 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Johnny_Bao 2012-06-03
  • 打赏
  • 举报
回复
没学过这些东西,不过要用到,真难
浴火_凤凰 2010-01-28
  • 打赏
  • 举报
回复
应该都跳吧
lermother 2010-01-28
  • 打赏
  • 举报
回复
learning
mykelly6 2010-01-28
  • 打赏
  • 举报
回复
lz是没有困难,制造困难也要上
passself 2010-01-28
  • 打赏
  • 举报
回复
我觉得这样的有冲突的事件没有必要研究吧,而且伤神费脑的,会有人这样用吗?用的时候一般屏蔽一个,或者就用一个就可以了
yixianggao 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 gideal_wang 的回复:]
你把alert都去掉,FF和IE就一样了,第一句跳到百度,第二句跳到谷歌
加上alert,浏览器就表现不同了
既有兼容问题,也有执行顺序问题
到底哪个优先?
[/Quote]
哦,原来这样呀!

href 可称为静态转向方式;onclick 可称为动态转向方式,
由此可见,这个问题并不复杂,解决方案就是不要同时使用两种转向方式,每次只选其中一种!
dandande 2010-01-27
  • 打赏
  • 举报
回复
跟着学
duwa789 2010-01-27
  • 打赏
  • 举报
回复
gideal_wang 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yixianggao 的回复:]
哈,都不对,又是浏览器兼容性问题!

FF 下总是 onclick 优先!
而 IE 下是 href 优先,但会执行 onclick 代码后跳转!

大家自己测试吧!

L@_@K
HTML code<ahref="http://baidu.com/" onclick="location='http://www.g.cn/';alert(location.href);">去哪里?</a><ahref="#" onclick="location='http://www.g.cn/';alert(location.href);">去哪里?</a>
[/Quote]
你把alert都去掉,FF和IE就一样了,第一句跳到百度,第二句跳到谷歌
加上alert,浏览器就表现不同了
既有兼容问题,也有执行顺序问题
到底哪个优先?
yixianggao 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 caishasha 的回复:]
参考:
http://school.itzcn.com/special-spid-28.html
[/Quote]
那位老师连 javascript 都念不清楚,而且还公然拼接 html 标记,看了一分钟就吐了!
yixianggao 2010-01-26
  • 打赏
  • 举报
回复
哈,都不对,又是浏览器兼容性问题!

FF 下总是 onclick 优先!
而 IE 下是 href 优先,但会执行 onclick 代码后跳转!

大家自己测试吧!

L@_@K
  <a href="http://baidu.com/" onclick="location='http://www.g.cn/';alert(location.href);">去哪里?</a>

<a href="#" onclick="location='http://www.g.cn/';alert(location.href);">去哪里?</a>
yixianggao 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 phoeni_xin 的回复:]
onclick优先href执行?

可以这样理解吗?

高手回答下
[/Quote]
反了,是先 href 后 onclick,
L@_@K 去 Baidu 了
<a href="http://www.baidu.com/" onclick="location='http://www.g.cn/';alert(location.href);">去哪里?</a>

而这个才是 google
<a href="#" onclick="location='http://www.g.cn/';alert(location.href);">去哪里?</a>
gideal_wang 2010-01-26
  • 打赏
  • 举报
回复
它执行的过程是如何的?是否是先触发onclick事件,如果onclick事件做了页面跳转的请求,href属性就失效了?
href属性什么时候发挥作用?

以上例子经过实际测试,IE8,FF,chrome全部跳转
phoeni_xin 2010-01-26
  • 打赏
  • 举报
回复
onclick优先href执行?

可以这样理解吗?

高手回答下
yixianggao 2010-01-26
  • 打赏
  • 举报
回复
俺看了,应该都跳吧!
donet_expert 2010-01-26
  • 打赏
  • 举报
回复
<a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP

<a href="javascript:void(0)" onClick="window.open()"> 点击链接后,页面不动,只打开链接

<a href="#" onclick="javascript:return false;"> 作用同上,不同浏览器会有差异。

点击链接后,不想使页面滚到页首,就用href="javascript:void(0)",不要用href="#",return false也有类似作用

87,904

社区成员

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

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