<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的值。跳转到页面中对应元素所在的位置。 |
"" | 空白字符串,这将导致点击时重新加载当前页面。 |
时间: 2024-10-05 04:27:55