[英]JavaScript Mouse Click addEventListener Not Working
// ADD PANEL TO BODY
調用“將// ADD PANEL TO BODY
addEventListener("click", forgotPassword)
事件時addEventListener("click", forgotPassword)
不起作用。 請幫助解決此問題。
Javascript:
var forgot_password_btn = document.querySelector("#forgot_password");
var theme_panel = "<div id=\"change-theme\"><a href=\"javascript:;\" class=\"dark\">DARK</a><a href=\"javascript:;\" class=\"light\">LIGHT</a></div>";
if (forgot_password_btn) {
forgot_password_btn.addEventListener("click", forgotPassword);
}
function forgotPassword() {
console.log("clicked");
}
// ADD PANEL TO BODY
window.onload = function () {
document.body.innerHTML += theme_panel;
};
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body>
<a href="#" id="forgot_password">Forgot</a>
</body>
</html>
提取forgot_password元素時,DOM未准備好。 因此,不進行綁定。 將邏輯放入onload事件中:
function forgotPassword() {
console.log("clicked");
}
// ADD PANEL TO BODY
window.onload = function () {
var forgot_password_btn = document.querySelector("#forgot_password");
var theme_panel = "<div id=\"change-theme\"><a href=\"javascript:;\" class=\"dark\">DARK</a><a href=\"javascript:;\" class=\"light\">LIGHT</a></div>";
if (forgot_password_btn) {
forgot_password_btn.addEventListener("click", forgotPassword);
}
};
另外,您應該避免這樣直接在JS中插入HTML內容。 將其放入HTML或使用模板。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.