0

好吧,我有一个问题:如何在不传递事件输入的情况下获得点击坐标?我想不出一种在 Firefox 中有效的方法,因为我想在使用修改后的window.confirm函数触发确认操作时获取坐标。例子 :

window.confirm = function() {
    if ( arguments[0] )
    {
        text_confirm = arguments[0];
        x_pos = window.event.clientX;
        y_pos = window.event.clientY;
    }
}

这是在以下时间触发的:

<a onclick="if (confirm('Are you sure?')) document.location='....'; return false;" href="javascript:void(1);"></a>

这段代码在 Chrome 中有效,但显然在 Firefox 中我必须使用类似onClick="getCoords(event);". 而且我无法在 window.confirm 的覆盖范围内发送事件输入。

另一种方法也受到赞赏,但知道这一点:

!!我无法更改onClick按钮上的操作,它必须只有window.confirm()

4

1 回答 1

0

您可以简单地将坐标保存在变量中,然后在函数中使用它们:

var coords = getCoords(event); if (confirm('Are you sure?')) { // use stored coords and stuff ... }

如果您无法使用此节点访问 html,则可以在代码中重新定义侦听器:

$('#element').click(function(event) {
  if (!confirm('are you sure?'))
    return false;

  getCoords(event);
  // ...

  return false;
});
于 2012-09-25T12:54:33.240 回答