0

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);
}
4

2 に答える 2

1

javascript行のときにidメニューがすでに利用可能な要素です:

document.getElementById('menu').onload = ...

実行されます。この行は、

window.onload

発生します。

そうですね、おそらくコードを呼び出します:

document.getElementById('projects-button').onclick = load_projects_view();

メニュー項目が追加された瞬間 (あなたの append_menu 関数?)

しかし、これはほんの一部のコードであるため、なんとも言えません。

また、jQuery と dojo は間違いなく進むべき道です。また、jQuery はブラウザーの奇妙な動作をすべて隠しているため、言語の基礎を習得するための非常に良い出発点だと思います。

于 2013-04-10T14:35:26.827 に答える