Вы можете остановить распространение click
событий для элементов поверх вашего #mainBack
элемента.
Например:
<div id="mainBack">
<a href="#">Some Link</a>
</div>
<script>
$('a').on('click', function (event) {
event.stopPropagation();
});
</script>
Это сделает так, что любая ссылка будет нажатаon не позволит событию всплывать до каких-либо элементов-предков.Что, в свою очередь, сделает возможным обнаружение щелчка по элементу #mainBack
.
Вам нужно будет остановить распространение события на любом элементе, на который вы хотите нажать, не открывая всплывающее окно.
Также обратите внимание, что .on()
является новым в jQuery 1.7, поэтому, если вы используете более старую версию, измените .on()
на .bind()
.
Обновление
Вы также можете использоватьобъект event
внутри вашего обработчика событий, чтобы проверить, является ли целевой элемент элементом #mainBack
:
$('#mainBack').click(function (event) {
if (event.target.id == 'mainBack') {
window.open('http://InternalBusProcess:8083/HyperFix.jpg', 'HyperFix');
}
});
Вот демонстрация использования event.target
: http://jsfiddle.net/j5NuW/ (обратите внимание наобработчик событий присоединен к элементу body
, но предупреждение отображается только при нажатии на элемент #mainBack
)