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