none
在非ie浏览器中下面的代码失效,如何做到用js模仿点击超链接 RRS feed

  • 问题

  • 我在谷歌浏览器运行下面的代码,点击Button1失效,如何做到用js模仿点击超链接(在ie下有效)

    我跟踪了一下,浏览器如下报错:

    Uncaught TypeError: Object javascript:alert('helloworld'); has no method 'click'

    代码:

    <!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 runat="server">
    
     <title>用js模仿点击超链接</title>
    
     <script type="text/javascript">
    
      function a() {
    
       var img = document.getElementById("tvwMenun1");
    
       if (img != undefined) {
    
        img.click();
    
       }
    
      }
    
     </script>
    
    </head>
    
    <body>
    
     <form id="form1" runat="server">
    
     <div>
    
      <a id="tvwMenun1" href="javascript:alert('helloworld');">
    
      点击超链接</a>
    
      <input id="Button1" type="button" value="用js模仿点击超链接" onclick="a();" />
    
     </div>
    
     </form>
    
    </body>
    
    </html>
    
    
    
    
    2010年12月29日 23:01

答案

全部回复

  • <a id="tvwMenun1" onclick="alert('helloworld');"> 只有设置了onclick属性才可以
    【孟子E章】
    2010年12月30日 8:45
    版主
  • 我测试了一下 还是ie有效,谷歌无效

    <!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 runat="server">
      <title>树控件不能伸缩</title>
    
      <script type="text/javascript">
        function a() {
          var img = document.getElementById("tvwMenun1");
          if (img != undefined) {
            alert(img.href);
            //img.click();
          }
        }
        function b() {
          var img = document.getElementById("tvwMenun2");
          if (img != undefined) {
            //alert(img.href);
            img.click();
          }
        }
      </script>
    
    </head>
    <body>
      <form id="form1" runat="server">
      <div>
        <a id="tvwMenun1" href="javascript:alert('helloworld');">点击超链接a</a> <a href="#" id="tvwMenun2"
          onclick="alert('helloworld');">点击超链接a</a>
        <input id="Button1" type="button" value="用js模仿点击超链接a" onclick="a();" />
        <input id="Button2" type="button" value="用js模仿点击超链接b" onclick="b();" />
      </div>
      </form>
    </body>
    </html>
    
    
    2010年12月31日 3:47
  • 测试了一下,设置了onclick属性,依然无效

    提示找不到这个链接的click方法或者函数

    2011年1月1日 22:42
  • 你好,

    你可以用eval(img.href);替换img.click();

    谢谢!


    Leo Tang [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 m s 2011年1月4日 22:20
    2011年1月4日 7:29
    版主
  • 谢谢

    2011年1月4日 22:20