委托jQuery 1.8.1?

时间:2014-03-18 16:37:38

标签: jquery ajax

我动态地将行加载到表格中,并且在每个表格的末尾都有针对该行的操作,例如编辑,隐藏,删除...

当我加载页面时,我运行DOM就绪功能,例如像编辑这样:

function editPostButtonEvent()
{ 
    $('a.edit').on('click',function(event){
        event.preventDefault();
         //ziskanie id kategorie  
        id = $(this).data('id');
        clicked = $(this);
        //ajax
         $.ajax({
           url: domainName+'admin/cmspost/ajax_edit_post',
           type: 'POST',
           dataType: 'html',
           data: { id: id }, 
           success : function(data) 
              {
                  postEdit(data);  
              }
          });   
    });
}
问题是,它在加载DOM时处理加载的元素,但是在我用ajax添加它们之后,它根本不起作用。我相信这些事件并不附属于他们。

我知道我在DOM中的每次更改后运行该函数,但问题是插件在成功事件中没有。我读到了那个被弃用的委托功能,现在已经有了.on功能,但它不适用于添加的元素。

有人能帮助我吗?是否可以向所有人添加事件,甚至不是现有元素?

1 个答案:

答案 0 :(得分:3)

您可以使用 event delegation 来动态添加元素:

$('body').on('click', 'a.edit', function(event){
     // Your code here
})