Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onClick未执行函数_Javascript_Html - Fatal编程技术网

Javascript onClick未执行函数

Javascript onClick未执行函数,javascript,html,Javascript,Html,我制作了一个超链接,样式类似于一个按钮,并将其设置为doonClick=“function()”,但当我单击它时,它不会执行。我有我的JS在一个单独的文件比HTML文件,如果这是任何用途 我是如何链接的 超链接 <ul id='nav'> <li> <a onClick="playerNum()">Play</a> </li> <li> <span

我制作了一个超链接,样式类似于一个按钮,并将其设置为do
onClick=“function()”
,但当我单击它时,它不会执行。我有我的JS在一个单独的文件比HTML文件,如果这是任何用途

我是如何链接的

超链接

<ul id='nav'>
    <li> 
         <a onClick="playerNum()">Play</a> 
    </li> 
    <li> 
         <span style='float: right;'> 
         <a onClick="rules()">Rules</a></span> 
    </li>
</ul>

  • 规则
  • 我的JavaScript

    var playerNum = function () {
        document.getElementById('log').innerHTML = 
             "<h2 style='font-family: calibri'> Choose single or multiplayer </h2>" +
             "<br >" +
             "<ul id='nav'>" +
             "   <li> <a onClick='singlePlay()'> Singleplayer </a> </li>" +
             "   <li> <a onClick='multiPlay()'> Multiplayer </a> </li>" +
             "</ul> "
    };
    
    var playerNum=函数(){
    document.getElementById('log')。innerHTML=
    “选择单人或多人”+
    “
    ”+ “” };
    这对我很有用。您是否有带有
    id=“log”
    的元素

    小提琴:

    HTML:

    
    
  • 规则
  • javascript:

    var playerNum = function () {
        document.getElementById('log').innerHTML = 
             "<h2 style='font-family: calibri'> Choose single or multiplayer </h2>" +
             "<br >" +
             "<ul id='nav'>" +
             "   <li> <a onClick='singlePlay()'> Singleplayer </a> </li>" +
             "   <li> <a onClick='multiPlay()'> Multiplayer </a> </li>" +
             "</ul> ";
    };
    
    var playerNum=函数(){
    document.getElementById('log')。innerHTML=
    “选择单人或多人”+
    “
    ”+ “”; };
    您的javascript函数singlePlay()或multiPlay()会移动吗?如果他们这样做了,您将需要重新初始化他们。由Javascript加载(或移动)的Javascript通常是不可执行的。我将您的html字符串拆分,这样人们就不必滚动到EndlesslyId您可以在加载函数中包装您的js代码吗?是的,我有一个带有
    id=“log”
    的元素。这是我所有的文件,你的代码有很多问题。我已经解决了一些问题,但您的主要问题是:1)您的脚本需要加载到
    标记中,因为元素要求脚本就位;2)您在[current]第93行缺少一个大括号;3)变量赋值顺序很重要;4)添加了许多缺少的分号。我没有仔细阅读过太多的代码,但我的更改修复了至少4个错误。在JSFIDLE中,您可以选择何时执行javascript代码。这是页面左侧的第二个下拉列表。选择
    no wrap--in
    意味着您的脚本将在html页面的
    标记中定义,因此在加载html时可供所有元素使用。“变量赋值顺序”意味着您定义变量并为其赋值的顺序。例如,您有一些代码试图使用变量
    playerNum
    ,但直到稍后在脚本块中才声明或给出值。在尝试使用变量之前,必须声明变量。如果期望值在这些变量中,则必须对这些变量进行赋值。例如,
    var playerNum定义一个变量<代码>playerNum=4
    是将编号
    4
    分配给
    playerNum
    <代码>变量playerNum=4同时执行这两项操作。只需将脚本放入
    元素:
    函数x(){}
    var playerNum = function () {
        document.getElementById('log').innerHTML = 
             "<h2 style='font-family: calibri'> Choose single or multiplayer </h2>" +
             "<br >" +
             "<ul id='nav'>" +
             "   <li> <a onClick='singlePlay()'> Singleplayer </a> </li>" +
             "   <li> <a onClick='multiPlay()'> Multiplayer </a> </li>" +
             "</ul> ";
    };