2

メインコード:

var clone = div.clone();
clone.attr('id', sabad_kala_id);
$('.content').append(clone);
$('div#'+sabad_kala_id).replaceWith('<tr id='+sabad_kala_id+'><td width="50"><a class="del_kala" id='+sabad_kala_id+'><img src="images/delete.png" alt="delete" /></a></td><td width="50">1.</td><td width="388">'+title+'</td><td width="80" clas="mm"><input class="count" type="text" value='+count+' /></td><td width="100">'+price+' $</td><td width="120">'+price_count+' $</td></tr>');

このコードは、追加と置換の後に完全に実行され、ユーザーはinput.countテーブルで編集でき、以下のコードが実行されました:

('input.count').keyup(function(e){

        alert(test);
    });

しかし、このコードは機能しません。

4

2 に答える 2

6

要素を動的に作成しているため、イベントを委任する必要があります。

$(document).on('keyup', 'input.count', function(e){
    alert('test');
});
于 2012-10-18T10:56:14.713 に答える
-1

ページの読み込み時にハンドラー keyup が実行され、後で追加されたオブジェクトに応答しないため、コードは機能しません。$(".count").live('keyup', function(){})コードを修正するために使用します。

訂正: $(document).on("keyup", ".count", null, function(){ // code here})jQuery 1.7 以降で使用 ( http://api.jquery.com/live/を参照)

于 2012-10-18T10:57:30.403 に答える