jQuery 为动态添加的元素绑定事件处理函数

对于页面中动态添加的元素,由于是在页面加载完成后添加的,因此页面加载时无法给其绑定事件处理函数,

csdn上的一篇文章让我明白了如何做到动态绑定

http://blog.csdn.net/xinhaozheng/article/details/5862109

   $(".RemoveLink").live("click",function () {
                // Get the id from the link
                var recordToDelete = $(this).attr("data-id");
                alert("即将删除" + recordToDelete);
                if (recordToDelete != '') {
                    // Perform the ajax post
                    $.post("/BS_Parameter/Delete", { "id": recordToDelete },
                        function (data) {
                            $("#tb_row_" + data.returnID).fadeOut("slow");
                            $("#AddedParamet").append("<p>删除成功" + data.returnID + "</p>");
                        });
                }
            });

使用live便可轻松做到,如:

 function CreateTR(data) {
            var myTR = "<tr id='tb_row_"+data.returnID+"'><td>" + data.name + "</td><td>" + data.description + "</td><td><a href='#' class='RemoveLink' data-id='" + data.returnID + "'>删除</a></td>";
            return myTR;
        }

     $("#RequestParameters").append(CreateRequestTR(data));

这样添加进去的元素也会被绑定上事件处理函数

 

posted @ 2012-10-10 15:06  前行者  阅读(14281)  评论(1编辑  收藏  举报