我正在尝试使用jQuery来允许用户指定一个可以删除的对象池。
我希望用户能够单击对象列表以将其添加到池中,如果他们希望从池中删除任何对象,请单击池中的对象来执行此操作。
$(document).ready(function() {
$('.object').click(function() {
var typeOfObject = $(this).attr('id');
$('#poolofobjects').append('<td><div class="selected_object">' + typeOfObject + '</div></td>');
});
$('.selected_object').click(function() {
$(this).remove();
});
});
将对象添加到对象池中工作正常,但我似乎无法删除已添加到池中的对象。
答案 0 :(得分:4)
试试这个 - (你需要使用事件委托)
$("#poolofobjects").on('click',".selected_object",function(){
$(this).closest("td").remove();
});
答案 1 :(得分:1)
这是因为当你的选择器运行时,页面中不存在该对象,因此事件处理程序不会添加到它。
使用on()代替 - http://api.jquery.com/on/
答案 2 :(得分:0)
此代码正在运行,您可能希望删除selected_objects的td标记。你可以尝试这段代码;
$('.selected_object').click(function() {
$(this).parent().remove();
});