一个返回父函数的函数

时间:2014-12-15 01:45:55

标签: javascript jquery callback return watch

我遇到了一些代码问题。基本上我使用jquery在单击按钮时运行回调函数。我的问题是整个监听设置都在另一个功能中。当jquery事件触发时我想返回父函数,但我无法弄清楚如何。

谢谢,

-Alex

function placeObject(object) {

        $("#button").click( function() { 

            $(".fields").remove()   
            $("#curser" + object).remove()  
            $("#curser" + object).css("pointer-events","none");
            $("#curser" + object).css("display","none")
            $("#submitObject").css("display","none")
            $("#cancelCreation").css("display","none")
            $(".newObjectButton").css("display", "inline")
            zooming = true

        });

}

更新

这个函数被这个函数调用:

function createObject(object) {

    $("#button").css("display","inline")

    if (object == "one thing") {
        placeObject(object)
    }
    else if (object == "another thing") {
        differentFuntion(object)
    }

}

这个函数由此调用:

$(".newObjectButton").click( function() {

    createObject($(this).attr("id"))

}); 

试图澄清我的确切目标:

我不希望函数返回这样的函数:

funtion a() {
    return b
}
funtion b() {
    alert("b")
}

其中结果是一个警告框,上面写着“b”

我希望函数a的返回值是一个返回封装父函数b的信号,如下所示:

function a() {

    function b() {
         return return //whatever value forces the parent function to return
    }

}

2 个答案:

答案 0 :(得分:0)

函数是对象,因此它们可以用作返回值。例如,

var setup = function() {
  alert(1);
  return function() {
    alert(2);
  };
};

var my = setup(); // alerts 1
my(); // alerts 2

答案 1 :(得分:0)

function a(){
 b();
}

function b(){
 console.log(arguments.callee.caller);
};

功能b将记录:

function a(){
 b();
}