href属性(甚至href属性是 href="" 这样),都会引起浏览器在执行完click事件后再触发href里面的链接,如果是空字符串,则会使用当前页面的url
解决办法:
1.删除href属性
2.href="javascript: void(0);" οnclick="要触发的函数"
3.click事件里面 使用 return false; 返回即可
$("a.toggle").click(function () {
$("#mydiv").toggle();
return false;
});
当你每次调用”return false“的时候,它实际上做了3件事情:
•event.preventDefault();
•event.stopPropagation();
•停止回调函数执行并立即返回。
大多数情况下,当你使用return false时,你其实真正需要的是e.preventDefault()。要使用e.preventDefault,你需要确保你传递了event参数到你的回掉函数中(在这个例子里,就是那个e):
$("a").click(function (e) {
// e == our event data
e.preventDefault();
});
只有当你同时需要preventDefault和stopPropagation,并且你的代码可以接受直到你的回调执行完成才停止执行浏览器的默认行为,那你就可以使用”return false“。