请问各位前辈,下面这段简单的代码,如果点击“新浪”的超链,执行出来的顺序是怎样的?
    <input type="button" name="Submit" value="按钮"  onclick="return alert('哈哈')"/>
    <a href="http://www.baidu.com" onclick="return alert('百度')">百度</a>
    <a href="http://www.sina.com.cn" onclick="return alert('新浪')">新浪</a>
    <a href="http://www.sohu.com.cn" onclick="return alert('搜狐')">搜狐</a>
我想知道原因,为什么会以这个顺序运行呢?一定要传授小弟具体原因啊!感激不尽!高分答谢!

解决方案 »

  1.   

    alert 新浪 确定后 跳转到新浪
    不知道是不是楼主没说清楚意思
      

  2.   

    顶2楼的。
    先弹出 "新浪"的窗口,然后跳转到新浪的网页。
    ----
    原因很简单啊:return alert('新浪'); 在你点击确定后,返回的true值。所以标签a还要继续执行它的默认行为,也就是跳转到href指定的路径去。
    如果你想点击后就停止事件继续往下执行的话,可以这样<a href="http://www.sina.com.cn" onclick="alert('新浪');return false;">新浪 </a>
      

  3.   

    在网页中有些对象是有默认的动作的,比如超链接,提交按钮。
    对于这些有默认动作的对象如果定义了onclick事件,那么就
    首先执行onclick指定的函数,如果没有返回false,执行完之后
    执行默认动作。所以如果你想阻止默认动作就要返回一个false.
    比如你可以用下面的代码阻止提交按钮和超链接的默认动作<form action="http://www.baidu.com" method="post">
    <input type="submit" name="btnSubmit" value="提交"  onclick="alert(1);return false"/>

    <a href="http://www.baidu.com"   onclick="alert('百度');return false">百度 </a>
    <a href="http://www.sina.com.cn" onclick="alert('新浪');return false">新浪 </a>
    <a href="http://www.sohu.com.cn" onclick="alert('搜狐');return false">搜狐 </a> 
    </form>
      

  4.   

    <a href="javascript:alert('新浪2');" onclick="return alert('新浪1')">新浪 </a> 
      

  5.   

    多谢大家的回复,return false这个对我帮助很大,
    可是实际的执行效果是:
    先弹出“新浪”框,然后跳转到新浪网页,然后弹出“哈哈”框,这个是为啥嘞?
      

  6.   

    您说的我差不多懂了,呵呵,那这种button里的默认动作岂不是很危险?
    您使用的return false方法,必须得把input放在form里,type=submit才行么?
    谢谢谢谢
      

  7.   

    点击新浪会引发button上的alert???
    ---
     不会吧??button和a是兄弟关系,不存在事件冒泡啥的。咋可能引发button的事件呢?
     我在本地测试也没发生这种情况~~
      

  8.   

    经您一提醒,我才忽然想到,浏览器有差异,Firefox上是我说的那种效果,IE上则不触发button的alert。
    万恶的百家争鸣的浏览器!!
      

  9.   

    那怎么才能 点击超链,显示alert框框后不跳转,而是留在当前页面上呢?
      

  10.   


    你早点这样问不就好了 
    <a href="http://www.sina.com.cn" onclick="alert('新浪');return false">新浪 </a> 
      

  11.   

    你不点button  我就不信能弹出 “哈哈”
      

  12.   

    <a href="http://www.sina.com.cn" onclick="alert('新浪');return false">新浪 </a> 
    或者你直接去掉href="http://www.sina.com.cn"就可以了啊
      

  13.   

    FireFox浏览器上,可以弹出“哈哈”