2011-04-07 61 views
0

我有附加標籤div的輸入...追加HTML,但沒有選擇新的元素

,現在我想刪除標籤...但沒有選擇新標籤

$('#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不能使用直播?

+0

如何從這個生成的HTML將是什麼樣子? – 2011-04-07 05:54:45

回答

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); 
    } 
}); 
1

創建jquery對象,並用它存儲事件。

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

然後追加到

$('#showtag').append(img); 
0

兩個可能性:

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');