【发布时间】:2012-08-21 12:24:53
【问题描述】:
我有这样一段代码:
function doSomething() {
someVar.on("event_name", function() {
$('#elementId').click(function(e) {
doSomething();
});
});
}
// and on document ready
$(function () {
$('#anotherElemId').click(function () {
doSomething();
});
});
我遇到的问题是,当我从anotherElemId click 事件(绑定在准备好的文档上)调用doSomething() 时,它按预期工作,但是从elementId 递归调用它点击不起作用.
有什么想法吗?思考是我所缺少的微不足道的东西。
【问题讨论】:
-
('#elementId').click(function(e) {必须是$('#elementId').click(function(e) { -
同时运行 doSomething 将在 firebug 中显示返回值,因为您没有返回任何内容,它应该显示未定义,请尝试 return 'didSomethig';
-
您确定您没有将
doSomething名称用于其他用途吗? -
为什么要递归地将事件处理程序添加到同一个元素?这看起来不对……无论如何,您应该提供一个更完整的示例,如jsfiddle.net 演示。我敢肯定还有比你展示的更多的事情发生。
-
@GabrielSantos 在我的问题中输入错误。固定。
标签: javascript jquery recursion scope