0

divにタグを追加するための入力があります...

タグを削除したいのですが...新しいタグへのセレクターがありません

$('#filetag').keyup(function (e) {
    var o = $('#filetag'),
        t = $.trim(o[0].value);
    if (e.which == 13 && t) {
        o[0].value = '';
        $('#showtag').append('<img id="delete_tag" title="del" alt="del" class="button8 bdelete" src="/media/images/cleardot.gif">'+t);

    }
});

$('#delete_tag').click(function () {
    console.log('sad');
});

ライブを使用する必要があることはわかっていますが、どの要素に対してどのように使用するのですか?.appendライブを使用できませんか?

4

3 に答える 3

1

jquery オブジェクトを作成し、イベントを保存します。

var img = $('<img></img>').attr({'id':"delete_tag", ../**attr here**/.. })
                          .live( /*live here*/).click(/*or click here*/);

そして、に追加します

$('#showtag').append(img);
于 2011-04-07T05:55:27.160 に答える
1

作成した要素にイベントを直接バインドできます。

$('#filetag').keyup(function (e) {
  var o = $('#filetag'),
    t = $.trim(o[0].value);
  if (e.which == 13 && t) {
    o[0].value = '';
    var img = $('<img/>', {
      id: 'delete_tag',
      alt: 'del',
      className: 'button8 bdelete',
      src: '/media/images/cleardot.gif'
    }).click(function () {
      console.log('sad');
    });
    $('#showtag').append(img).append(t);
  }
});
于 2011-04-07T06:00:09.123 に答える
0

2 つの可能性:

1/live関数 を使用します。

  $('#delete_tag').live('click', function () {
  console.log('sad');
  });

2/ 作成された要素にクリック イベントを追加します。

$('<img id="delete_tag" title="del" alt="del" class="button8 bdelete" src="/media/images/cleardot.gif">'+t)
  .click( function {
    console.log('sad');
  })
  .appendTo('#showtag');
于 2011-04-07T06:03:31.067 に答える