a标签的href属性是一个锚点,当有时不需要跳转的时候我们可能会给个href="#",这个时候可能会因为你页面高度较大时,等你点击它时,页面回到顶部,这时并不是你想要的效果.你可能只需要点击它时页面不动而是某个样式变化,这里的href="#"可能就需要变化一下了.通常的写法大概有三种.
① <a href="javascript:void(0)" onclick ="js_method()"> </a>
② <a href="javascript:;" onclick ="js_method()"> </a>
③<a href="#" onclick ="js_method() return false"> </a>
这三种有略微的区别
①这种方法是很多网站最常用的方法,也是最周全的方法,onclick方法负责执行js函数,而void是一个操作符,void(0)返回undefined,地址不发生跳转。而且这种方法不会像第一种方法一样直接将js方法暴露在浏览器的状态栏。
②这种方法在传递this等参数的时候很容易出问题,而且javascript:协议作为a的href属性的时候不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript语句
③这种方法点击执行了js函数后return false,页面不发生跳转,执行后还是在页面的当前位置。

1261

被折叠的 条评论
为什么被折叠?



