1

我需要获取 mousedown 事件的 X 位置或 Y 位置。所以我尝试将参数传递给我的 getPosition 函数。

function getPosition(event, param) {
  // expected: var value = event.pageX;
  var value = event.param;
  return value;
}

$('#element').on('mousedown', function(e){
  var myValue = getPosition(e, 'pageX');
}

我在这里想念什么?

4

1 回答 1

2

您需要改用括号表示法:

function getPosition(event, param) {
  // expected: var value = event.pageX;
  var value = event[param];
  return value;
}

如果您使用点表示法,浏览器将查找对象上调用的属性paramevent该属性不存在。使用括号表示法,浏览器将评估param并在对象上查找。

是一个演示上面代码的小提琴。

于 2013-09-27T07:33:01.637 回答