在项目中,我们经常会用到A链接标签,有时使用链接标签的href属性进行跳转,这很容易写;有时使用onclick属性在点击时使用,这是就有一个不得不面对的问题,不写href属性鼠标指针不变成手型,写了后在执行了对应的js函数后链接直接转到href属性的值中。
第一种方法是:href属性值为javascript:void(0),此时href属性无任何动作。在Javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值,void 操作符用法格式如下: 1. javascript:void (expression) 2. javascript:void expression,expression 是一个要计算的 Javascript 标准的表达式。表达式外侧的圆括号是选的,但是写上去是一个好习惯。使用 void 操作符指定超级链接,表达式会被计算但是不会在当前文档处装入任何内容。(如果想通过链接执行一些特定的动作而不是点击执行,也可以在此处写上没有返回值的动作,如:<A HREF="javascript:void(document.form.submit())"> 单此处提交表单</A>)
第二种方法是:href属性值为”javascript:xxx();”,href一般是指向一个URL地址,也可以调用javascript ,但是这种方法在复杂环境有时会产生奇怪的问题,尽量不要用javascript:协议做为A的href属性,这样不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。
第三种方法是:onclick属性为”xxx();return false;”,我们知道链接的onclick事件被先执行,其次是href属性下的动作,如果不想执行href属性下的动作,onclick需要返回false,一般是这样写οnclick="xxx();return false;"。