2017-11-28 34 views
0

これは単純なものでなければなりませんが、このコンボネーションの.focusoutと.change関数が動作しない原因を確認できません。なぜこのjQueryのフォーカスアウトと変更機能は機能しませんか?

フォーカスが最初の入力を離れるときに、最初の入力を2番目の入力にコピーします。コンソールにエラーはありません。フィドル:https://jsfiddle.net/fh8t6mm0/

私がフォーカスアウトを使用したい理由は、.changeと.val関数が何らかの理由で確実に動作しないことです。

HTML:

<div id="focusoutdiv"> 

    <input class="fieldone" type="text"> 

    <input class="fieldtwo" type="text"> 

</div> 

JS:

$('#focusoutdiv').focusout(function() { 
    $('.fieldone').change(function() { 
    $('.fieldtwo').val($(this).val()); 
    }); 
}); 

答えて

3

あなたはまた、他の1つのテキストボックスからテキストをコピーするためにblurイベントを使用することができます。あなた

$('.fieldone').blur(function() { 
    $('.fieldtwo').val($(this).val()); 
}); 
+0

ありがとう!これははるかに効率的で、私が '$( 'fieldtwo')val($(this).val());'でやっていたよりも優れています。 – BlueDogRanch

+0

非常にうれしいですが、答えを受け入れてください。 – programtreasures

0

focusoutイベント内changeイベントを使用しないでくださいに役立つコードmightbeの下に。なぜなら、それらは期待どおりに動作するために別々に定義する必要があるからです。さらに、あなたのコードスニペットでは、changeイベントだけで、あなたの要件を満たすことができます。以下の例を参照してください。

$('.fieldone').change(function() { 
 
    $('.fieldtwo').val($(this).val()); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="focusoutdiv"> 
 
    <input class="fieldone" type="text"> 
 
    <input class="fieldtwo" type="text"> 
 
</div>

+0

これは私が以前にやっていたことですが、何らかの理由で確実に動作しなかったので、入力に直接的に変化するものが必要でした。 – BlueDogRanch

+0

.changeと.val関数が動作しないときは?私たちにあなたのバイブルの例を教えてください。 –