Html的a标签,是很多页面ui设计的选择。但是有时候存在一些操作效果不是我们想要的,比如某个页面有a标签,点击时页面将发生跳转,但是有时候我们并不需要跳转,只是想要类似于button的onclick功能。
如果只是想单独的跳转,可以有如下的解决方法:
第一,用href="javascript:void(0)"这种伪协议;(建议少用)
即:<a href="javascript:void(0)" target="mainFrame" οnclick="del()" >删除</a>
第二,<a href="" οnclick="enable();return false;">enable</a>,即在onclick方法里return false。需要说明的是,enable方法里返回false是不行的,因为该onclick事件类似于一个方法调用。而对于方法调用,看如下代码:
function enable1() {
alert("enable1");
returnfalse;
}
function callmethod(){
enable1();
alert("go on");
alert("callmethod");
if(enable1()){return false;}
alert(“return after”);
}
即使enable1返回了false,callmethod方法还是会继续执行的。关于这一点的理解,我们可以从如下代码得到启示:
if(enable1()){ // dosomething }else{ // do something}
在callmethod执行了return之后,方法内之后的语句不再执行。这里的callmethod就相当于a标签的onclick事件。
第三, <a href="#" οnclick="del()" >删除</a>跳转到当前页面,这里如果浏览页面时已经滚动过鼠标,点击时会跳转到顶部,也就是鼠标滚动之前,有点类似于跳转。
对于html的base标签,设置之后表示当前页面需要引进其他文件时需要的参考路径。假设我们的项目目录是/test/,在WebRoot有两个页面,一个是/test/one.html,另一个是/test/html/other.html,他们都要加载/test/js/some.js。如果我们将baseURL设置成/test/,则我们在加载该js的时候,这两个页面都可以使用相对于项目的路径./js/some,而不是因为页面的路径不同而使用不同的相对路径。
Note: The <base> tag must go inside the head element.
注意:<base>标签必须使用在head元素内