0

私はjqueryとjavascriptを初めて使用し、

 .click(function(e){
  /* some code and creating two vars with the position of the clicked place*/})

これらの2つの変数を返したいのですが、方法がわかりません。

4

3 に答える 3

3

jQuery.click関数は jQuery オブジェクトを返します。したがって、関数内から戻ることはできません。したがって、クリック関数の外側に var を作成し、以下のように関数内に設定するだけです。

var elPos = {};
$(element).click (function () {
  /* some code and creating two vars with the position of the clicked place*/
  elPos.x = xpos;
  elPos.y = ypos
});
于 2012-12-03T19:12:32.393 に答える
2

関数は 1 つの値を返します。それがどのように機能するかです。しかし、あなたには選択肢があります。

配列を返すことができます:

function foobar () {
    var x = "foo";
    var y = "bar";
    return [x, y];
}

オブジェクトを返すこともできます:

function foobar () {
    var x = "foo";
    var y = "bar";
    return {x: x, y: y};
}

グローバル スコープに変数のペアを設定することもできます。

var x, y;
function foobar () {
    x = "foo";
    y = "bar";
}

または、オブジェクト/配列を渡します。

function foobar (obj) {
    obj.x = "foo";
    obj.y = "bar";
}

ところで、これはいずれも jQuery 固有のものではありません ;)

于 2012-12-03T19:17:56.950 に答える
0
 .click(function(e) {
   var x = e.pageX;
   var y = e.pageY;
   return [x, y];  

});    

img のような要素がある場合は、これを試すことができます...

 var x = e.pageX - $(this).offset().left;
 var y = e.pageY - $(this).offset().top;
于 2012-12-03T19:13:49.630 に答える