【发布时间】:2012-09-16 23:43:49
【问题描述】:
好吧,我有一个问题:如何在不传递事件输入的情况下获得点击坐标?我想不出一种在 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() !
【问题讨论】:
-
你能绑定第二个处理程序并使用
event来检索 x,y 位置吗?如果是这样,您可以将其存储在某个地方并在您的确认功能中使用它。 -
是的,你是对的。我可以这样做,但不建议这样做。如果没有找到其他解决方案,我可能会这样做。
-
Ty Shikyo,幸运的是我可以更改 onClick 事件,因为链接是使用
sprintf( DELETE, $url_delete )生成的,我可以在确认操作前面的 DELETE 常量中插入另一个函数来获取坐标。
标签: javascript jquery jquery-events overwrite confirm