AJAX 呼び出しからクラスを持つ要素を作成しました。これらの作成されたオブジェクトにクリック イベントをバインドしようとしています。
AJAX create 要素と同じハンドラ クラスで要素を作成すると、問題なくバインドされます。ただし、ハンドラー要素が AJAX 呼び出しから作成される場合、それらは関数にバインドされません.click
。
要素がロードされるときに何か関係があると思います。.click()
関数のプロミス ステートメントのようなものが必要ですか?
必要に応じて、ここに私のコードがあります。
要素を作成する
function runQuery(){
var url = 'http://www.nexthometown.com/index.php?option=com_singleprop&view=raw&format=raw';
$.ajax({
url: url,
dataType: 'json',
success: function(data){
$.each(data, function (key, value){
var agentuid = value[0];
var mlsnum = value[1];
var address = value[5] + ' ' + value[6] + ' ' + value[7];
var city = value[9];
var state = value[10];
var zip = value[11];
$('#ohs_table').append('<tr><td>' + mlsnum + '</td><td>' + address + ' ' + city + ' ' + zip + '</td><td><div class="media_button">QRCode</div><div class="f_button media_button" value="' + mlsnum + '">Flyer</div></td></tr>');
});
},
error: function(jqXHR, error, errorThrown) {
alert(jqXHR.responseText);
}
});
};
.click
機能_
$('.f_button').click(function(){
$('#test').html('<h1>Hello!</h1>');
});