3

私は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 の問題ではありません。

4

2 に答える 2

8

ブラウザはリンクをたどろうとしています。.preventDefault()を使用してみてください

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

これにより、リンクのデフォルト アクションが発生しなくなります。

于 2013-06-18T17:43:39.523 に答える
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/をご覧ください。

この質問は、既定のアクションがリンクでどのように機能するかを理解するのに役立ちます。

于 2013-06-18T17:44:02.440 に答える