2017-06-07 8 views
1

スクロール

あなたは をクリックしたときには、ここでのコードであるあなたは、タイトルをクリックしたときに動作しますが、ない:https://codepen.io/anon/pen/YQyNyw

誰でもアイデアは?私はとのトラブルを抱えている

特定の部分:ここで

let activeIndex = 0; let scrollTopPadding = -100; let wrapper; let fields; 


$(document).ready(() => { wrapper = $('.wrapper'); fields = $('.field'); fields.click(function() { 
    scrollToActiveField(this); }); 
    let inputs = $('.field button'); 
    inputs.click(function(){ 
    scrollToActiveField($(this).parent()); }); inputs.click(function(event) { // enter 
     let nextInputIndex = inputs.index(this) + 1; 
     if (nextInputIndex < inputs.length) { 
      inputs.eq(nextInputIndex).focus(); 
     } 
     }); 
    setActiveTab(); }); 

は、実施例https://codepen.io/benelliott/pen/beBPyJである - 私の代わりに、入力のボタンを必要としています。

答えて

1

フォームのボタンが不明なタイプのため、問題が発生します。私はフォームが面白い振る舞いをする "submit"ボタンをデフォルトにしていると信じています(このことを説明する追加の答え/コメントが大好きで、今は研究する時間がありません)。

簡単に修正できます。ただ、各ボタンにタイプ=「ボタン」を追加し、あなたのcodepenは動作します:https://codepen.io/hyrumwhite/pen/WOQRzK

<div class="wrapper"> 
<form class="form" action=""> 
    <div class="field"> 
    <label>First name</label> 
    <button type="button"> test</button> 
    </div> 
    <div class="field"> 
    <label>Last name</label> 
    <button type="button"> test</button> 
    </div> 
    <div class="field"> 
    <label>Telephone</label> 
    <button type="button"> test</button> 
    </div> 
    <div class="field"> 
    <label>Email</label> 
    <button type="button"> test</button> 
    </div> 
</form> 
</div> 
+0

はあなたに感謝! 1つの質問 - それは最初のクリックでのみ動作しないようですが、あなたはなぜ知っていますか? また、タイプを追加する必要がある理由を説明してもらえませんか? – Camila

+0

実際には次のボタンをクリックすると動作するようですが、次のボタンにスクロールしません:(ここでは動作する例がありますhttps://codepen.io/benelliott/pen/beBPyJ - ボタンを入力します。 – Camila

関連する問題