2013-06-18 8 views
3

У меня есть JQuery код:Кнопка ОК, но HREF ссылка не срабатывает

$("#step1Skip").on("click", function(event){ 
    $('#chooseTheme, #addImages, #addVideo, #finalStep').hide(); 
    $('#addLogo').show(); 
}); 

Если я использую кнопку, например,

<button type="button" id="step1Skip">Skip this step >></button> 

Это прекрасно работает. НО, если я попробую то же самое с простой ссылкой:

<a href="#" id="step1Skip">Skip this step</a> 

Он ничего не делает, просто не работает. Почему это?

Я не пытаюсь их одновременно, поэтому это не проблема с идентификатором.

ответ

8

Ваш браузер ботов по ссылке. Попробуйте использовать .preventDefault()

$("#step1Skip").on("click", function(event){ 
    event.preventDefault(); 
    $('#chooseTheme, #addImages, #addVideo, #finalStep').hide(); 
    $('#addLogo').show(); 
}); 

Это позволит предотвратить действие по умолчанию ссылки возникновения.

3

Поскольку это ссылка, ссылка выполняет действие по умолчанию. Вы должны предотвратить его от этого, и использовать preventDefault()

$("#step1Skip").on("click", function(event){ 
    event.preventDefault(); 
    $('#chooseTheme, #addImages, #addVideo, #finalStep').hide(); 
    $('#addLogo').show(); 
}); 

Еще одно замечание - это полезно для только <a>. Поскольку кнопки не имеют действия по умолчанию, они беспрепятственным с помощью event.preventDefault()

Посмотрите на http://api.jquery.com/event.preventDefault/

This question могут быть полезны в понимании того, как стандартные действия работают со ссылкой.

Смежные вопросы