本帖最后由 msailsoft 于 2010-12-04 17:18:54 编辑

解决方案 »

  1.   

    用chrome浏览器调试下, 看看具体错误是哪里?
      

  2.   

    arrMenuMain[0] = new Menu();
    arrMenuMain[0].id = "MenuA";
    你的 Menu 是什么对象啊?是一个dom 对象吗?
    你用firebug 看看它创建的html对象有 id= "MenuA"; 的 dom 对象吗?如果arrMenuMain[0] = new Menu(); 是一个dom 对象可以:arrMenuMain[0].onmousemove = function(e) {
        for (var i = 0; i <= 5; i++) {
            var sItm = "Menu" + String.fromCharCode(i+65);
            if (sItm=="MenuA") {
                arrMenuMain[i].show(e, "left");
            } else {
                arrMenuMain[i].close(e);
            }
        }
    }
      

  3.   

    问题已经解决:原因是 JSONSTORE 加载数据的方式是异步的。也就是说,在 JSONSTORE 还没加载(LOAD)完数据以前,下面的 JS 代码已经执行完毕了,,当下面的代码执行到 document.getElementById("MenuA").onmousemove 时 ID 为 MenuA 的对象还没有来得及创建!
    求助贴改为散分贴了,大家接分吧。