如何委派在引导酥料饼()HTML元素,使用jQuery

如何委派在引导酥料饼()HTML元素,使用jQuery

问题描述:

余米试图启用,点击编辑按钮禁用的控制,但使用jQuery委托function.Here是代码我不能访问它:如何委派在引导酥料饼()HTML元素,使用jQuery

$('#table-view-task').delegate('tr:not(:first)','click', function(){ 
    var id = $(this).find('td:first').text(); 
    var task = $(this).find('td:eq(1)').text(); 
    $(this).popover({ 
     html: true, 
     delay: { show: 0, hide: 0 }, 
     title: function() { 
       return '<div>'+task+'</div>'; 
     }, 
     content: function() { 
       return '<div id="pop-container">'+ 
         '<label>ID</label>'+ 
         '<input type="text" value="'+id+'" id="txt-edit-id" disabled/>'+ 
         '<label>Task</label>'+ 
         '<input type="text" value="'+task+'" id="txt-edit-task" disabled/>'+ 
         '<a href="#" class="btn" id="btn-edit-task">Edit</a>'+ 
         '<a href="#" class="btn" id="btn-save-task">Save</a>'+ 
         '</div>'; 
     } 
    }); 
}); 

这将正确打印所有html元素的弹出窗口。如何使用jquery访问这些元素。 那么如何进入编辑link.Here就是我想要做的是:

$('#pop-container').delegate('a','click', function(){ 
    alert('editing'); 
}); 

您需要取消对链接的默认操作[编辑:并听取body而不是#pop-container。尝试

$('body').delegate('#btn-edit-task, #btn-save-task','click', function(e){ 
    e.preventDefault(); 
    alert('editing'); 
}); 

如果不取消对链接的默认行为,他们就会带你被他们href属性指定的URL。

注意,因为.delegate()已由.on()方法的jQuery 1.7和更高的被取代,这将是更好的事:

$('body').on('click', '#btn-edit-task, #btn-save-task', function(e) { 
    e.preventDefault(); 
    alert('editing'); 
}); 
+0

仍不working.I甚至使用id作为selector.Its不工作其他元素如输入。 – tutorame 2013-02-28 04:06:58

+0

对不起,那个跳到我身上,但我只注意到一些更重要的东西 - 弹出窗口不会被附加到该表格,它会被附加到文档主体。所以你需要将事件处理程序委托给'body',而不是表格。我现在编辑我的答案。 – Liv 2013-02-28 12:15:35