为了账号安全,请及时绑定邮箱和手机立即绑定

为什么函数不能写在href里面?前面几节不是有这样的例子吗,我写在onclik就可以删除,写在href就不可以;但是虽说是一个链接,不也要点击吗,我们进链接不都是通过点击进入吗,那最开始写链接的时候,也没说必须要写onclick事件啊,为什么这个不可以?

<body> 
   <table border="1" width="50%" id="table">
   <tr>
<th>学号</th>
<th>姓名</th>
<th>操作</th>
   </tr>  
   <tr>
<td>xh001</td>
<td>王小明</td>
<td><a href="javascript:deleteRow(this)" >删除</a></td>  <!--在删除按钮上添加点击事件  -->
   </tr>
   <tr>
<td>xh002</td>
<td>刘小芳</td>
<td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td>   <!--在删除按钮上添加点击事件  -->
   </tr>  
   </table>
   <input type="button" value="添加一行"  />   <!--在添加按钮上添加点击事件  -->
 </body>


正在回答

1 回答

     1、a href="javascript:js_method();"
       这是常用的方法,但是这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句

       2、 a href="javascript:void(0);" onclick="js_method()"
       这种方法是很多网站最常用的方法,也是最周全的方法,onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏。
       3、a href="javascript:;" onclick="js_method()"
       这种方法跟跟2种类似,区别只是执行了一条空的js代码。
      4、a href="#" onclick="js_method()"
       这种方法也是网上很常见的代码,#是标签内置的一个方法,代表top的作用。所以用这种方法点击后网页后返回到页面的最顶端。
     5、a href="#" onclick="js_method();return false;"
       这种方法点击执行了js函数后return false,页面不发生跳转,执行后还是在页面的当前位置。


3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么函数不能写在href里面?前面几节不是有这样的例子吗,我写在onclik就可以删除,写在href就不可以;但是虽说是一个链接,不也要点击吗,我们进链接不都是通过点击进入吗,那最开始写链接的时候,也没说必须要写onclick事件啊,为什么这个不可以?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信