Привет!
Я вызываю веб-сервис из Javascript, когда пользователь нажимает на ссылку. Мне нужно получить координаты, где пользователь щелкнул, чтобы я мог отобразить DIV в соответствующем месте. Мой клиентский скрипт выглядит следующим образом:
var g_event;
function DoWork(event, theId)
{
if (IsIE())
g_event = window.event;
else
g_event = event;
Acme.WebServices.Worker.GetInformation(theId, DoWorkSuccess);
}
function DoWorkSuccess(result)
{
var l_elemDiv = document.getElementById("content-area-div");
DisplayAreaDiv(g_event, l_elemDiv, result);
}
Используется так:
<a href="" onclick="DoWork(event, "help");">Help</a>
Это прекрасно работает в Firefox, Safari и Opera. В IE7 не так уж и много. Например, если я добавлю следующий код в конец функций DoWork () и DoWorkSuccess ():
alert(g_event.clientX + ", " + g_event.clientY);
В IE я получу два оповещения; первый имеет правильные координаты, но второй (который отображается поверх первого) просто «[объект]». Поскольку этот «[объект]» является последним, мой DIV неправильно отображается в левом верхнем углу окна браузера. Есть ли способ, которым я могу помешать IE дать мне второе «плохое» событие? Спасибо.