javascript: 是一个伪协议,其他的伪协议还有 mail: tel: file: 等等。
<a id="jsPswEdit" class="set-item" href="javascript:;">修改密码</a>
javascript:是表示在触发<a>默认动作时,执行一段JavaScript代码,而 javascript:; 表示什么都不执行,这样点击<a>时就没有任何反应。
一般在这种情况下,会给<a>绑定一个事件回调,来执行业务,如:
document.getElementById('jsPswEdit').addEventListener('click', function(e) {
e.preventDefault();
// 当<a>触发click时,处理业务
}, false);
href="javascript:;"就是去掉a标签的默认行为,跟href="javascript:void(0)"是一样的
void 是JavaScript 的一个运算符,void(0)就是什么都不做的意思。
其他防止页面跳转的实现方式:
1、<a href="#" >test</a>;
点击链接,页面默认上滚到页的顶部, 但可以加上 οnclick="return false",防止上滚到页的顶部。
2、<a href="####" >test</a>;
使用2个到4个#,见的大多是"####",也有使用"#all"等其他的。一个无意义的标签指定,不做任何处理。
3、<a href="javascript:void(0);" >test</a>;
javascript:void(0) 表示一个死链接,执行空事件。