练习的时候遇到此问题
具体情形如下
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="#">
<button id="testBtn">test跳转</button>
</form>
<script type="text/javascript" src="jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function() {
$("#testBtn").click(function() {
window.location.href = "http://www.baidu.com";
})
});
</script>
</body>
这里可以看到,button在form表单中,然后在jquery中设置跳转,正常情况是可以跳转的,但是这里会被form表单拦截
原因:由于form表单先提交了,即并非原来的页面了,所以window.location.href会失效
解决方案1: 在window.location.href上方添加 window.event.returnValue = false;
解决方案2: 将button 的 type设置为button 如: <button type="button" id="testBtn">test跳转</button>
目前知道这两个解决方案,如有错误,请不吝指正,谢