0

我想知道如何访问从 jQuery 函数返回的值。我知道像这样的javascript函数的基本方法:“var myVar=myFunction();”

但是谁能告诉我如何使用这样的 jQuery 函数来做到这一点?如果我想访问 mousePosX 和 mousePosY?我只是没有看到要引用的函数名称。一如既往地提前感谢!

    $("#demoCanvas").mousemove(function(event){
        mousePosX = event.pageX;
        mousePosY = event.pageY;
        return mousePosX;
        return mousePosY;
    });//end mousemove()
4

2 回答 2

1

欢迎来到回调的世界。

您几乎不会访问从事件回调返回的值。这些回调与您的其余代码异步运行,因此任何依赖于mousePosXmousePosY的处理都需要在回调内部进行。您传递给的回调函数mousemove应该完全表达该事件触发时应该运行的代码。

这是一个简单的示例:您可能希望传递mousePosX给另一个函数,以便该函数可以用它做一些事情。回调不返回mousePosX它调用另一个函数。

$("#demoCanvas").mousemove(function(event){
    var mousePosX = event.pageX;

    someOtherFunction(mousePosX);
});
于 2013-05-26T21:57:18.750 回答
1

您始终可以为此目的使用对象:

        function pointer(){
            this.x;
            this.y;
            this.set = function(x,y){this.x=x;this.y=y;}
        }
        var p = new pointer();
        $(document).mousemove(function(e){
            p.set(e.pageX,e.pageY);
        });

您可以像这样访问该职位:

$("button").click(function(){
    $("body").append(p.x+" "+p.y+"</br>");
});
于 2013-05-26T22:04:14.817 回答