2016-02-12 4 views
0

У меня есть событие щелчка, который говорит, если это элементы оленьей кожи забежавших Funciton класса ...Добавить запрет по умолчанию на событие click?

$(document).on('click', '.arrow:not(".disabled")', altSaws); 

это работает отлично, но мой e.preventDefault находится в пределах функции altSaws и поэтому, когда отключил класс элемента, нажмите на пользователь взят в начало страницы, есть ли другой способ, которым я мог бы это сделать?

Надеюсь, это имеет смысл?

+0

Либо у вас может быть другой дескриптор, который вызовет предупреждение по умолчанию ... или проверит условие в существующем обработчике –

ответ

1

Вы можете иметь 2 решения

Либо перейти по умолчанию предотвращения вызова на отдельный обработчик

$(document).on('click', '.arrow:not(".disabled")', altSaws); 

function altSaws() { 
    //no need to prevent default here 
} 
$(document).on('click', '.arrow', function(e) { 
    e.preventDefault(); 
}); 

или обрабатывать disabled состояние в пределах altSaws

$(document).on('click', '.arrow', altSaws); 

function altSaws(e) { 
    e.preventDefault(); 
    if ($(this).hasClass('disabled')) { 
    return; 
    } 
    //your existing logic 
} 
+0

Удивительный, спасибо за это @ArunPJohny – Liam

1

Ваша функция altSaws является то, что отсутствует в этом вопросе, но он должен начать так:

function altSaws(e) { 
    e.preventDefault(); 
    ...  
} 
Смежные вопросы