onClick不能为我的按钮工作

时间:2018-05-22 14:04:52

标签: javascript

我正在创建一个网站,我将展示我的作品。然后我注意到我需要一个Cookie通知。因为我想自己100%(没有发电机等),我开始创造它。 Cookies本身工作正常,但是main.js没有注册onClick按钮。

以下是代码:

var acceptButton = document.getElementById("cookieAccept");
acceptButton.onclick = function() {
    alert("HELLO");
}

我的按钮代码:

<button id="cookieAccept" class="cookieButton">Accept</button>

我一直在谷歌搜索,搜索StackOverflow等。没有答案对我有用(还)。以下是我尝试的解决方案:

  • 的jQuery
  • object.onclick = function() {}
  • object.addEventListener("click", false);
  • object.addEventListener("click", false)放在window.onload

任何提示/帮助? - XaafCode

修改

控制台错误:

Uncaught TypeError: Cannot set property 'onclick' of null

3 个答案:

答案 0 :(得分:0)

在这种情况下可能的原因只是。

这将有效

 <button id="cookieAccept" class="cookieButton">Accept</button>
    <script>
    var acceptButton = document.getElementById("cookieAccept");
    acceptButton.onclick = function() {
        alert("HELLO");
    }
    </script>

确保在编写html之前没有Js。首先是html然后是Js。还要确保没有两个同名的id。这可能有一段时间会产生问题。

这不起作用

   <script>
    var acceptButton = document.getElementById("cookieAccept");
    acceptButton.onclick = function() {
        alert("HELLO");
    }
    </script>
    <button id="cookieAccept" class="cookieButton">Accept</button>

答案 1 :(得分:0)

请确保将js代码包装在一个功能中,该功能将在浏览器设置完所有html后注册为执行:

window.onload = function() {
    var acceptButton = document.getElementById("cookieAccept");
    acceptButton.onclick = function() {
        alert("HELLO");
    }
}

Cfr .: https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload

答案 2 :(得分:0)

请记住将HTML代码放在Javascript语法之前,放在标签下。