我正在尝试使用 JavaScript 动态加载菜单,然后在加载菜单元素后将 onclick 事件监听器设置为菜单元素。我似乎不知道该怎么做。我通过 AJAX 调用加载菜单,菜单内容加载正常,但当我单击菜单元素时,没有发生任何事情,就像我期望的那样。
这是我的代码部分,我预计这会是原因......
//Load Menu and main images
window.onload = function()
{
load_menu();
}
document.getElementById('menu').onload = function()
{
document.getElementById('projects-button').onclick = load_projects_view();
}
//Load menu function
function load_menu()
{
request = getHTTPObject();
request.onreadystatechange = append_menu;
request.open("GET", "./php/menu.php", true);
request.send(null);
}
//Load Project View
function load_projects_view()
{
request = getHTTPObject();
request.onreadystatechange = append_project_view;
request.open("GET", "./php/project_view.php", true);
request.send(null);
}
最佳答案
删除这个。
document.getElementById('menu').onload = function()
{
document.getElementById('projects-button').onclick = load_projects_view();
}
并将其放在 append_menu()
的底部。
document.getElementById('projects-button').onclick = load_projects_view;
关于javascript - 动态加载 HTML 的 Onclick 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15928695/