私のプロジェクトでは、検索パラメータを指定してデータベースからの要求応答データを含む入力フィールドを含むdiv要素を生成します。私は、それが検査でクラスを持っているにもかかわらず、入力が追加を使用して生成されたときに、クラスセレクタは動作しませんが、それにいくつかの余分な仕事をするためにそれにkeyupイベントを使用できるようにする必要があります。コードで生成された入力要素のkeyupイベントへのアクセス
私はそれを証明することCodePenを作成しました:http://codepen.io/leofontes/pen/PNgabB?editors=1111
HTML
<div class="container" id="container">
<button id="button">Click</button><br>
</div>
CSS
.container {
background-color: #F00;
height: 200px;
width: 200px;
}
.dynamic-input {
margin: 5px;
}
Javascriptを/ jQueryの
$(document).ready(function() {
$('#button').click(function() {
for(var i = 0; i < 5; i++) {
$('#container').append('<input type="text" class="dynamic-input">')
}
});
$('.dynamic-input').keyup(function() {
console.log($(this).val());
});
});
のjQueryコードがうまく動作し、$(document).ready関数内で生成された入力を使ってテストしましたが、意図したとおりに行ったため、後で生成されたときになぜそれがないのか分かりません。
HTMLで既に読み込まれているクラスで隠れた入力を試してみましたが、どちらも動作しません。
$(document).ready(function() {
$('#button').click(function() {
for(var i = 0; i < 5; i++) {
$('#container').append('<input type="text" class="dynamic-input">')
}
});
$(document).on('keyup', '.dynamic-input', function() {
console.log($(this).val());
});
});
の可能性のある重複した[動的に作成された要素を上の結合イベント?](http://stackoverflow.com/questions/203198/event-binding-on-dynamically-created-elements) – dave
あなたは(上 '試みることができます'keyup'の代わりに' input '、function() '... – mk117