美文网首页
window.location.href = "xxx.html

window.location.href = "xxx.html

作者: 一截水袖 | 来源:发表于2018-10-09 11:47 被阅读0次

练习的时候遇到此问题
具体情形如下

<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>

目前知道这两个解决方案,如有错误,请不吝指正,谢

相关文章