【问题标题】:HTML/JS Execution OrderHTML/JS 执行顺序
【发布时间】:2013-12-06 10:37:32
【问题描述】:

我想了解 HTML 和 JS 函数的执行顺序。 代码:

<!DOCTYPE html>
<html>
   <head>
      <script>

         function myFunction()
         {
            var x=document.getElementsByName("check1");
            x[0].disabled=true;
            x[0].checked=true;
            x[0].value="Y";
         }

         function myFunction1()
         {
            var x=document.getElementsByName("check1");
            alert(x[0].value);
         }

      </script>
   </head>
   <body onload="myFunction()">
      <h1>Hello World!</h1>
      <form>
         <input type="checkbox" name="check1" unchecked enabled value="N"/>
         <input type="button" value="Button" onclick="myFunction1()"/>
      </form>
   </body>
</html>

最后元素“check1”的值为=Y。 最后复选框被选中并禁用。 谁能解释一下。 我已经浏览了这个非常有用的链接: Load and execution sequence of a web page?

上面的例子仍然会有所帮助。谢谢

【问题讨论】:

  • 你的函数名是一样的——myFunction()。您可能想将一个更改为 myFunction1()
  • 为什么你定义了两个名为myFunction的函数?
  • 我已经编辑了我的问题..

标签: javascript html execution


【解决方案1】:

首先你改变函数的名字..它必须是不同的。那么执行顺序是

  • 首先调用本体加载函数,然后调用输入按钮函数。 你甚至可以通过 alert 来检查它。

【讨论】:

    【解决方案2】:

    “myFunction()”方法在加载事件中调用,以便在页面加载后立即执行。以及在按钮单击事件上调用的函数“myFunction1()”。您正在使用“N”值初始化复选框值,这就是为什么它在每个页面加载函数后显示 n 的原因

    【讨论】:

      【解决方案3】:

      如果我理解您的问题,您的意思是为什么您的 checkbox 值是 'Y',尽管您禁用了该复选框。

      禁用复选框只会使其在用户界面方面处于非活动状态,但通过脚本您仍然可以更改值。

      【讨论】:

      • 我已经更新了我的问题。你能告诉我为什么“check1”的值最后是 =Y。
      猜你喜欢
      • 2011-09-17
      • 2013-04-10
      • 2011-10-26
      • 1970-01-01
      • 2016-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多