2016-05-20 22 views
1

私の質問に答えてください:Jqueryタグ "insertAfter"は要素が何度も何度も何度も繰り返されていない場合に一度しか表示されません。Jqueryタグ "insertAfter"は、要素が何度も何度も何度も繰り返されていない場合に一度だけ表示されますか?

$(document).ready(function(){$(".ddd").keypress(function (e) { 

if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) { 
    $("<span style='color:red'>insert only character</span>").insertAfter($(this)).show().fadeOut("slow"); 
    return false; 
} 
}); 
}); 

答えて

0

それが存在するかどうかを確認するためにあなたのセレクタにjQueryの.lengthプロパティを使用してみてください。そうでない場合は、それを挿入します。私は一箇所のみどこでエラーMESを示すIDを使用している場合は、私の形で

$(document).ready(function() { 
 
    $(".ddd").keypress(function(e) { 
 
    if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) { 
 

 
     if (!$("#err").length) 
 
     $("<span id= 'err' style='color:red'>insert only character</span>").insertAfter($(e.target)); 
 

 
     $("#err").show().fadeOut("slow"); 
 
     return false; 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input class="ddd"></input>

+1

は、複数のテキストボックスと複数のテキストboxsesでこのOnKeyPressイベントのティガーがあります非常に最初のイベントが誘発される –

関連する問題