我是jquery和javascript的新手,我想要一个
.click(function(e){
/* some code and creating two vars with the position of the clicked place*/})
我希望归还这两个变种,但我不知道如何。
答案 0 :(得分:3)
jQuery .click
函数返回一个jQuery对象。所以你无法从函数内部返回。因此,您只需要在click函数外部创建一个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
});
答案 1 :(得分:2)
函数返回一个值。这就是它的工作原理。但你有选择。
您可以返回一个数组:
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的;)
答案 2 :(得分: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;