Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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 Can';t运行js文件_Javascript_Html - Fatal编程技术网

Javascript Can';t运行js文件

Javascript Can';t运行js文件,javascript,html,Javascript,Html,我试着用html和jscript创建一个21点游戏,这就是我在html中加载了de js文件,我知道已经加载了,因为调试器tell的me de文件已经遇到,但该文件没有运行。 js新手 这是文件 <!DOCTYPE html> <html> <head> <title>BlackJack by RuiVieira</title> </head> <body> <div id="zonaBanca"&

我试着用html和jscript创建一个21点游戏,这就是我在html中加载了de js文件,我知道已经加载了,因为调试器tell的me de文件已经遇到,但该文件没有运行。 js新手

这是文件

<!DOCTYPE html>
<html>
<head>
  <title>BlackJack by RuiVieira</title>
</head>
<body>
  <div id="zonaBanca">
    <h1>Banca</h1>
  </div>
  <div id="zonaJogoBanca">
  </div>
  <div id="zonaJogador">    
    <h1>Jogador</h1>
  </div>
  <div id="zonaJogoJogador">    
  </div>
  <div id="zonaAposta">
    <h2>Aposta</h2>
    <button id="subir">+1</button>
    <button id="parar">stop</button>
    <div>
        <input id="valorAposta" type="number" min="0" step="1"/>
    </div>
    <div>
        <button id="botaoAposta">Apostar</button>
    </div>
  </div>
  <script src="blackj.js"></script>
</body>
</html>

将javascript代码包装在
load
事件处理程序中

window.addEventListener("load", loaded, false);

function loaded() {
  alert('xupasaoquadrado');
  var baralho = ['Ao', '2o', '3o', '4o', '5o', '6o', '7o', '8o', '9o', '10o', 'Vo', 'Do', 'Ko', 'Ae', '2e', '3e', '4e', '5e', '6e', '7e', '8e', '9e', '10e', 'Ve', 'De', 'Ke', 'Ap', '2p', '3p', '4p', '5p', '6p', '7p', '8p', '9p', '10p', 'Vp', 'Dp', 'Kp', 'Ac', '2c', '3c', '4c', '5c', '6c', '7c', '8c', '9c', '10c', 'Vc', 'Dc', 'Kc'];
  var botaoAposta = document.getElementById('botaoAposta');
  var valorAposta;
  botaoAposta.onclick = function() {
    alert('xupas');
    valorAposta = document.getElementById('valorAposta').value;
    alert('xupas1');
    if (valorAposta = document.getElementById('valorAposta').value != null) {

    } else {
      alert('iserir valor de aposta (números inteiros)');
    }
  }
}
这样,当页面打开时,它将在页面加载时执行代码(意味着DOM已经创建,所有元素都在页面上)


然后,当javascript代码运行时,它将遇到所有
document.getElementById()
语句,并在DOM中找到相应的元素。

将代码包含在事件中,当初始HTML文档完全加载和解析后,将触发此事件:

 document.addEventListener("DOMContentLoaded", function(event) {
    alert('xupasaoquadrado');
    var baralho = ['Ao','2o','3o','4o','5o','6o','7o','8o','9o','10o','Vo','Do','Ko', 'Ae','2e','3e','4e','5e','6e','7e','8e','9e','10e','Ve','De','Ke','Ap','2p','3p','4p','5p','6p','7p','8p','9p','10p','Vp','Dp','Kp', 'Ac','2c','3c','4c','5c','6c','7c','8c','9c','10c','Vc','Dc','Kc'];
    var botaoAposta = document.getElementById('botaoAposta');
    var valorAposta; 
    var botaoAposta.onclick = function() {
        alert('xupas');
        valorAposta = document.getElementById('valorAposta').value;
        alert('xupas1');

        if(valorAposta = document.getElementById('valorAposta').value != null){

        }
        else{
            alert('iserir valor de aposta (números inteiros)');
        }
    }

});
在“我看到了错误”中检查代码,改为使用onclick绑定事件使用addEventListener在对象准备就绪时向事件添加处理程序

   alert('xupasaoquadrado');
    var baralho = ['Ao','2o','3o','4o','5o','6o','7o','8o','9o','10o','Vo','Do','Ko', 'Ae','2e','3e','4e','5e','6e','7e','8e','9e','10e','Ve','De','Ke','Ap','2p','3p','4p','5p','6p','7p','8p','9p','10p','Vp','Dp','Kp', 'Ac','2c','3c','4c','5c','6c','7c','8c','9c','10c','Vc','Dc','Kc'];
    var botaoAposta = document.getElementById('botaoAposta');
    var valorAposta; 
    botaoAposta.addEventListener("click",function(e){
   alert('xupas');
        valorAposta = document.getElementById('valorAposta').value;
        alert('xupas1');

        if(valorAposta = document.getElementById('valorAposta').value != null){

        }
        else{
            alert('iserir valor de aposta (números inteiros)');
        }
},false);

那么第一行的警报没有出现?但是浏览器的开发控制台中没有错误?您的代码没有包装在
文档中。加载
-事件。因此,代码是在页面打开时编译的,而不是在文档加载完成时编译的。因此,您使用的元素的id尚未创建,因此代码将无法工作。加载页面时是否包含google chrome控制台结果,可能存在错误,可能是由于.onclick未定义,因为元素未准备就绪yet@Jorrex他的
标签在身体的末端,因此,所有的元素都已加载。您的代码没有问题,至少这里发布的部分工作正常(在Firefox本地试用)。所以要么有更多的代码,要么有其他东西(与网络相关的东西)正在破坏它,即使你说调试器正在“遇到”它。事实上,并没有额外的参数丢失,以使代码运行,而不仅仅是加载
正在加载并运行所提到的脚本。
标记位于正文的末尾,因此所有HTML都已被解析和加载。正如在HTML文件末尾包含脚本之前的类似文章中所提到的,因此它非常能够访问其中定义的所有元素。坚持使用窗口的
load
事件甚至比坚持使用文档的
domcontentload
事件更糟糕,因为前者在后者之后很久才会发出。
   alert('xupasaoquadrado');
    var baralho = ['Ao','2o','3o','4o','5o','6o','7o','8o','9o','10o','Vo','Do','Ko', 'Ae','2e','3e','4e','5e','6e','7e','8e','9e','10e','Ve','De','Ke','Ap','2p','3p','4p','5p','6p','7p','8p','9p','10p','Vp','Dp','Kp', 'Ac','2c','3c','4c','5c','6c','7c','8c','9c','10c','Vc','Dc','Kc'];
    var botaoAposta = document.getElementById('botaoAposta');
    var valorAposta; 
    botaoAposta.addEventListener("click",function(e){
   alert('xupas');
        valorAposta = document.getElementById('valorAposta').value;
        alert('xupas1');

        if(valorAposta = document.getElementById('valorAposta').value != null){

        }
        else{
            alert('iserir valor de aposta (números inteiros)');
        }
},false);