отменить поведение ссылки
Добрый день!
ситуация такая - нужно отменить поведение ссылки, она вызывает картинку в модальном окне.. я прописываю так:
$('.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, время: 04:27. |