0
function onBodyLoad()
{       
    document.addEventListener("deviceready",onDeviceReady,false);
    //for testing in safari only, comment out for deploy to iphone with phonegap
    $(document).ready(function(){ 
        loadPage('mainmenu', 'Home');

        $('#menus').toggle(); 

        //I have a nested div in this index.html file with id=menubottbutt  
        $("div").delegate("#menubottbutt","click",toggleMenu());

                $("div").delegate(".menuitem","click",toggleMenu());
    });


}

在 body 元素中我有这个

当它运行并点击委托行时,我收到错误* * TypeError: 'undefined' is not a function (evaluating'$("div").delegate("#menubottbutt","click",toggleMenu())' )


当然,我有上面定义的方法 toggleMenu,它在从其他地方调用时有效。看起来像这样 `function toggleMenu() {

$('#menus').toggle('slow'); 

$('#menubottbutt').toggleClass('pressed');

} `

谢谢

PS这是我到目前为止所拥有的:在我的onBodyLoad中,我将使用 $("#menubottbutt").click(function(){toggleMenu();}); 在其他合适的地方我会打电话给: $(".menuitem").click(function(){toggleMenu();}); 这似乎解决了我的问题,但如果我能让代表工作可能会更好。

4

2 回答 2

1

对不起,但我没有得到你的问题。

在阅读您的代码时,我猜您的页面上有 3 个 div 应该在用户单击其中一个时执行指定的方法。

所以我的解决方案是 html

<div id="menu" class="menu"></div>
<div id="2ndMenu" class="menu"></div>
<div id="3rdMenu" class="menu"></div>

JS看起来像这样

$(document).ready(function(){
    $('.menu').click(function(){toggleMenu()});
});

希望这就是你要找的

托尔斯滕

于 2011-07-29T19:37:08.133 回答
0

尝试

 $("div").delegate("#menubottbutt","click",function(){toggleMenu();});
 $("div").delegate(".menuitem","click",function(){toggleMenu();});

第三个参数必须是函数名

要么都好

  • “工具菜单()”
  • “切换菜单”
  • function(){toggleMenu();} // 推荐这个
于 2011-07-29T19:31:09.080 回答