最近在点击一个a链接时经常发现,如果有垂直滚动条的话页面经常跳到顶端,于是google了一下,知道了为什么,也找到了几个解决办法。
总结一下,如果在实际应用中确实是要用到<a>标签来响应onclick事件的,
那么就建议使用下面三种方法
1.<a href="javascript:void(0)" οnclick="doSomething()">test</a>
2.<a href="" οnclick="doSomething();return false">test</a>(推荐)
3.<a href="#" οnclick="doSomething();event.returnValue=false">test</a>
这应该是由于触发了浏览器的默认行为而引起的。建议第三点 event.returnValue=false 就是在阻止浏览器的默认行为。
当然,这样写只对IE浏览器有用
可以写一个比较通用的 阻止浏览器默认行为的方法:
function stopDefault(evt){
if(e&&e.preventDefault()){
e.e.preventDefault();
}else{
window.event.returnValue=false;
}
}
这样既可跨浏览器使用。
function addReplyButton(event){
reply_user_id = $(this).children('input').val();
$(this).hide();
$(this).next().show();
$(this).next().find('textarea').val('');
$(this).next().find('textarea').focus();
event.preventDefault();
}
来自: http://hi.baidu.com/yutianzy/blog/item/5b5bb8d241a7420b3bf3cf25.html