我有JQuery代码:
$("#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>
它什么都不做,根本行不通。那是为什么?
我不会同时尝试它们,所以这不是ID问题。
答案 0 :(得分:8)
您的浏览器正在尝试关注该链接。尝试使用.preventDefault()
$("#step1Skip").on("click", function(event){
event.preventDefault();
$('#chooseTheme, #addImages, #addVideo, #finalStep').hide();
$('#addLogo').show();
});
这将阻止链接的默认操作发生。
答案 1 :(得分: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有助于了解默认操作如何与链接一起使用。