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'不是函数(评估'$(“div”)。delegate(“#menubottbutt”,“click”,toggleMenu())')
当然我有上面定义的toggleMenu方法,它可以在从其他地方调用时工作。它看起来像`function toggleMenu(){
$('#menus').toggle('slow');
$('#menubottbutt').toggleClass('pressed');
} `
PS这就是我到目前为止所拥有的: 在我的onBodyLoad中,我将使用$(“#menubottbutt”)。click(function(){toggleMenu();}); 在其他适当的地方我会打电话: $( “菜单项”)点击(函数(){toggleMenu();}); 这似乎解决了我的问题,但如果我能让代表工作,那可能会更好。
答案 0 :(得分: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()});
});
希望这是你正在寻找的东西
和Thorsten
答案 1 :(得分:0)
试
$("div").delegate("#menubottbutt","click",function(){toggleMenu();});
$("div").delegate(".menuitem","click",function(){toggleMenu();});
第三个参数必须是函数名称
要么好又