在HTML标签<a/>中调用javascript代码

  <a/>标签的“href”属性可以是一个有效的URL,表示跳转的目的地,除此之外,href还可以是一段javascript代码。当为“href”设置javascript代码时,格式如下:<a href=”javascript:……;” />。当点击这种形式的超链接时,浏览器将执行“href”中设置的javascript代码。需要注意的是,如果代码执行之后的返回值是一个有效值(除“undefined”之外的值)的话,当前页面的内容将会被返回值替换!

  W3C标准不推荐使用这种方法来调用javascript,这样会导致一些问题,比如触发不必要的“onbeforeunload”事件,等等。我们可以通过下面推荐的一些方法,来更加保险的调用javascript代码。

方式一:<a href=”javascript:void(0);” onclick=”.……” />。使用void运算符来避免返回有效值,void运算符对任何值返回“undefined”。

方式二:<a href=”javascript:;” onclick=”……” />。使用一条空的javascript语句,同样不会有任何有效值返回。

方式三:<a href=”#” onclick=”……;return false” />。通过在事件处理函数中返回“false”,来取消触发事件的元素的默认行为。

附录:<a/>标签“href”属性不同赋值的效果。

 
href effect
有效的URL 跳转到URL所指向的资源。
"#" 跳转到当前页面的顶部。
"#XXX" "XXX"是本页面中其他<a/>标签的name属性值,或者是其他元素的id的值。跳转到页面中对应元素所在的位置。
"" 空白字符串,这将导致点击时重新加载当前页面。
原文地址:https://www.cnblogs.com/tangfly/p/5915899.html