我正在创建一个网站,我将展示我的作品。然后我注意到我需要一个Cookie通知。因为我想自己100%(没有发电机等),我开始创造它。 Cookies本身工作正常,但是main.js没有注册onClick按钮。
以下是代码:
var acceptButton = document.getElementById("cookieAccept");
acceptButton.onclick = function() {
alert("HELLO");
}
我的按钮代码:
<button id="cookieAccept" class="cookieButton">Accept</button>
我一直在谷歌搜索,搜索StackOverflow等。没有答案对我有用(还)。以下是我尝试的解决方案:
object.onclick = function() {}
object.addEventListener("click", false);
object.addEventListener("click", false)
放在window.onload
任何提示/帮助? - XaafCode
修改
控制台错误:
Uncaught TypeError: Cannot set property 'onclick' of null
答案 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语法之前,放在标签下。