在 jquery click() 之后调用定义的函数不起作用
Posted
技术标签:
【中文标题】在 jquery click() 之后调用定义的函数不起作用【英文标题】:calling a defined function after jquery click() doesn't work 【发布时间】:2013-07-29 05:58:41 【问题描述】:请考虑以下脚本块。问题被解释为 cmets。
$(document).ready(function()
function changeMenu(e)
$('#navigator').removeClass('a').removeClass('b').addClass(e);
;
// Neither this line
changeMenu('element-id');
$('.mainmenuitem').click(
// Nor this line execute the function
changeMenu(this.id)
);
)
请注意,如果我将代码 $('#nav').removeClass('a').removeClass('b').addClass(e);
置于功能之外,并在已调用 changeMenu()
的两个地方使用它,则效果很好。
【问题讨论】:
【参考方案1】:语法错误,您需要关闭函数,或者在这种情况下,将函数添加到事件处理程序:
$(document).ready(function()
function changeMenu(selectedMenuID)
$('#navigator').removeClass('a b').addClass(selectedMenuID);
changeMenu('parse-gallery');
$('.mainmenuitem').click(function()
changeMenu(this.id)
);
);
FIDDLE
【讨论】:
我还要感谢您教我如何一次删除 2 个类!:D
@MohammadNaji - 没问题,乐于助人!【参考方案2】:
请检查您的代码中遗漏了什么..
$('.mainmenuitem').click(function()
changeMenu(this.id)
);
【讨论】:
以上是关于在 jquery click() 之后调用定义的函数不起作用的主要内容,如果未能解决你的问题,请参考以下文章