2013-06-18 94 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> 

它什麼也不做,根本行不通。這是爲什麼?

我不會在同一時間嘗試它們,所以它不是一個ID問題。

回答

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可以幫助理解上的默認操作如何與網絡鏈路暢通無阻。