1

追加されたコードの削除に問題があります。
いくつかの div を追加して、結果を確認してください。
新しい div で dblclicked を実行しても、削除されません。

HTML:

<input id="val" name="value" />
<input id="submit" type="button" value="ok" />
<div id="content"></div>

脚本:

$("div[id^='block_']").on('dblclick', function() {
 $(this).remove();
});

$("#submit").click(function(){
 if ( $('#val').val().length > 0 )
 {
  $('#content').append('<div id="block_'+ $('#val').val() +'">'+ $('#val').val() +'</div>');

  $('#val').val('');
 }
});

これがJSFiddle
です。私はjquery 2.0.3を使用しています。

4

4 に答える 4

1

クリックイベントをバインドしているとき、要素はそこにありません。委任されたイベントを使用:

$('#content').on('dblclick', "div[id^='block_']", function() {
    $(this).remove();
});

ここに必要なすべての情報があります: http://api.jquery.com/on/#direct-and-delegated-events

于 2013-10-22T17:27:06.073 に答える
1

div は動的に生成されるため、次のイベント委任を使用します.on()

$(document.body).on('dblclick',"div[id^='block_']", function() {
    $(this).remove();
});

フィドルの例

于 2013-10-22T17:27:06.730 に答える