原因:

Internet Explorer 的默认类型是 "button",而其他浏览器中(包括 W3C 规范)的默认值是 "submit"。

当 type 为 submit 时,默认向后台请求,导致页面刷新

测试:

以动态添加 input 输入框为例,一旦去掉 type 属性会出现问题

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){
            $("button").click(function(){
                var html = "<br><div id=\"son\"><input title=\"\" type=\"text\"></div>";
                $("#parent").append(html);
            });
        });
    </script>
</head>
<body>
    <form action="" method="post">
        <div id="parent">
            <div id="son">
                <input title="" type="text">
            </div>
        </div>
        <br/>
        <!-- 可以将下面的 type 属性去掉尝试 -->
        <button id="button" type="button">Button</button>
    </form>
</body>
</html>

参考:

  1. W3C 关于 button 的介绍:http://www.w3school.com.cn/tags/tag_button.asp
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Jalen Chu 微信支付

微信支付

Jalen Chu 支付宝

支付宝

Jalen Chu 公众号

公众号