Я работаю над некоторыми изменениями для веб-страницы, я использую MVC и jquery.
Обычно на моей странице есть значки справки, когда пользователь нажимает на иконку, появляется всплывающее окно с описанием справки.
У меня есть этот код в моем JavaScript для этой страницы:
AddHelpIconMouseEvents: function(element, msg, divForm) {
$(element).live('click', function(event) {
if (event.type === "click") MyClassHelper.showHelpIconBubble(msg, divForm, event);
});
$(document.body).click(function() { $(divForm).hide('fast'); });
}
Как вы видите, я использую событие document.body.click для захвата любого клика за пределами всплывающей подсказки и скрытия этого всплывающего окна.
Теперь рассмотрим эту ситуацию, я нажимаю на значок справки, и появляется пузырь, если я щелкаю где-либо еще на странице, пузырь исчезает, как и ожидалось, но проблема у меня есть, если вместо нажатия на пустое место на странице, которую я нажимаю на ссылку, ссылка отображает другой раздел страницы, скрывает раздел, в котором содержался значок справки, но всплывающая подсказка не исчезает, а остается отображаемой.
Этого не происходит в Firefox, в котором я могу щелкнуть ссылку или пустое место, и пузырь исчезнет.
Я думаю, что это может быть связано с тем, как IE обрабатывает события, я думаю, что прочитал что-то об этом, поэтому мне интересно, если кто-нибудь знает, как я могу это исправить, я думаю, что я могу поместить некоторый код в ссылки и проверить если пузырь виден, скройте его, но мне не нравится идея, я думаю, что это не очень хорошее решение, мне интересно, есть ли другой лучший способ справиться с этим.
Спасибо