отменить поведение ссылки
Добрый день!
ситуация такая - нужно отменить поведение ссылки, она вызывает картинку в модальном окне.. я прописываю так: $('.imagesBlock a').click(function(e) { e.preventDefault(); return false; }); это работает. Но проблема в том, что я добавляю класс ей и нужно что бы она уже с этим классом не работала $('input#visual').change(function(){ if($(this).is(":checked")) { $(".imagesBlock a").addClass("noLink"); } else { $(".imagesBlock a").removeClass("noLink"); } }); и теперь так уже не работает: $('.imagesBlock a.noLink').click(function(e) { e.preventDefault(); return false; }); подскажите как правильно поступить? |
$('.imagesBlock a').click(function(e) { e.preventDefault(); //либо это одно return false; //либо это одно //а два сразу, это "кашу маслом не испортишь", //только лишний кусок масла вреден для здоровья }); |
Это для всех ссылок будет работать, с классом ли они или нет
$('.imagesBlock a').click(function(e) { e.preventDefault(); .... Вы чего пытаетесь добиться? |
спасибо! мне нужно отменить поведение ссылки после добавления ей класса..
$('input#visual').change(function(){ if($(this).is(":checked")) { $(".imagesBlock a").addClass("noLink"); } else { $(".imagesBlock a").removeClass("noLink"); } }); |
Понятно, тогда делегируйте обработку их событий родителю:
$('.imagesBlock').on('click', 'a.noLink', function(e) { e.preventDefault(); }); |
if($(this).is(":checked")) { $(".imagesBlock a").addClass("noLink"); } else { $(".imagesBlock a").removeClass("noLink"); } можно заменить на $(".imagesBlock a").toggleClass("noLink", this.checked); |
Спасибо!
|
Часовой пояс GMT +3, время: 11:37. |