@v-orlov

Как выбрать все элементы кроме ссылок и задать им правило на jquery?

Товарищи, как правильно сделать выборку, чтобы заработал код ниже?
Что нужно. У меня несколько блоков .block, в каждом разношерстнный контент (тексты, картинки, ссылки), но при клике на общий блок за исключением внутренних ссылок, я бы хотел открывать fancybox.
сейчас же мое произведение не работает. либо открывается модальное окно, даже если я кликаю по внутренним ссылкам .block, либо только ссылки работают, а модальное не вызывается.
Запутался в выборках, буду рад помощи.

<div class="block">
    <p><a href="vk.com">vk.com</a></p>
    <a href="google.ru">google.ru</a>
    <ul>
        <li></li>
        <li></li>
    </ul>
    <div></div>
    <div></div>
</div>

<a href="#some-modal-window" class="link fancybox">переходим</a>


$('.block').click(function() {
    var notcontent = $(this).find('a');
    var content = $(this).not('notcontent');
    var clickTo = $(this).next('.link');
   
    .content.click(function() {
        clickTo.click();
    });
});


ps такой пример можно увидеть в вк. если кликнуть на отдельный новостной пост, он открывается в отдельном окне, но если нажать на ссылку внутри поста, ссылка откроется без дерганья окна.
ориентир не на вк, конечно, но как сам эффект выглядит, можно можно наблюдать там. а как сделан не понятно.
  • Вопрос задан
  • 275 просмотров
Решения вопроса 1
Igor_307
@Igor_307
Фрилансер
If(!$(this).is("a")){
//открыть fancybox
}

Это после клика по .block
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@v-orlov Автор вопроса
как решить, если вдруг у кого-то будет подобная проблема:
.block a {
position: relative;
z-index: 1000;
}
.link {
position: absolute;
width: 100%;
height: 100%;
z-index: 1;
top: 0;
left: 0;
}

ссылку с фенси подсунуть под весь контент с меньшим индексом, и ссылки которые выше, не будут реагировать на его вызов. даже js не понадобился.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы