爱法斗学编程 2019-12-03 23:18 采纳率: 72.7%
浏览 263
已采纳

js创建节点鼠标点击调用为何只显示一次

首先代码是基本从课本抄下来的,,应该没有问题。但是我用鼠标点击,添加的
文本一闪而过就没了。想问下是因为什么,这个部分的代码如下

function foe()
        {
            var elew=document.createElement("p");
            var tex=document.createTextNode("你好,世界!");
            elew.appendChild(tex);
            document.forms[0].appendChild(elew);
        }
    </script>
</head>
<body >
    <form action="" name="form2">
        <button onclick="foe();">点击调用DOM</button>
    </form>

2另外请教一下朋友们,平时写前端代码的时候,有什么好工具能发现代码错误
吗?现在我用sublime,写错了一个小点,有时候要检查好久才发现。。。

  • 写回答

9条回答

  • Kuukiliselessness 2019-12-04 10:28
    关注

    ####简单的废话
    这个是表单的提交行为造成的


    ####基础需知
    form 元素的action属性是当表单提交时向指定地址处发送表单数据。(会跳转到该地址)
    button 有个type属性(默认是submit 某E浏览器默认是button)指定button的行为, submit 就是提交表单的意思(提交自身dom所在的form)


    ####问题分析
    form 有action属性为 '' 也就是当前页面
    form 里的 button[type=submit] 点击 触发了form的提交
    然后就原地刷新...

    ####解决问题
    找到原因了,解决办法就有很多了:
    1.form的action属性去掉 或者 指定为不刷新即 action='#'。
    2.button 的type 属性 指定为 非 submit(有button 和 reset 两个属性 可以自行研究)。
    3.重构dom结构,把 button 从form中移出到其他位置。


    ####工具介绍

    轻量级(开启迅速,功能有限,依赖插件)

    sublime:里面有插件模块,什么代码检查,高亮,提示,都有相关的插件需要自己弄
    vscode:基本同上,不过是微软爸爸的东西,一直在更新,插件数量也丰富

    重量级(内置功能丰富,oneUnitDragonServe。全栈配套,启动呵呵)

    webstrom:标准的重量级老大哥,该有的功能都有,不该有的也齐全,需购po买jie

    中量级

    HBuilder:国。产。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(8条)

报告相同问题?

悬赏问题

  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页
  • ¥15 怎么让wx群机器人发送音乐