jquery我用append方法添加一列,列中包含一个onclick事件,onclick无效。代码如下
        var mflFileCount = 0;
        function AddFile(id, itemid) {
            var obj = $("#" + itemid)[0];
            var fileName = obj.value;
            var li_id = "div_upload'" + (mflFileCount + 1);
            var upload_id = "mflFileUpload" + (mflFileCount + 1);
            var newFileLoadTmp = "<div id='" + li_id + "'><input type='file' name='" + upload_id + "' id='" + upload_id + "' onchange='AddFile('" + li_id + "','" + upload_id + "')'  /> " +
            "</div>"
            mflFileCount += 1;
            $("#div_upload").append(newFileLoadTmp);
        }

解决方案 »

  1.   

    饿,错误了,我简化了,现在是onchange事件
      

  2.   

    问题重新描述:上传控件选择文件后,触发AddFile函数,会添加append一个img控件,这个控件的onclick无效了,代码如下:
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Demo2.aspx.cs" Inherits="Demo2" %><%@ Register Src="Header.ascx" TagName="Header" TagPrefix="uc1" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <script src="Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            var mflFileCount = 0;
            //添加元素
            function AddFile(id, itemid) {
                var obj = $("#" + itemid)[0];
                var fileName = obj.value;
                if ($.trim(fileName) == "") {
                    //用户没有选择文件<img src="images/ac_02.jpg" />
                    return;
                }
                var type = fileName.substring(fileName.lastIndexOf("."));
                type = type.toLowerCase();
                var sFileName = fileName.substring(fileName.lastIndexOf("\\"));
                var li_id = "div_upload'" + (mflFileCount + 1);
                var upload_id = "mflFileUpload" + (mflFileCount + 1);
                var newFileLoadTmp = "<div id='" + li_id + "'> " +
                "<img alt=\"\" src=\"images/delete.gif\" onclick=\"mflRemoveFile('" + li_id + "','" + upload_id + "')\" /></div>"
                if ($.trim(type) == "" || $.trim(sFileName) == "") {
                    //用户没有选择文件
                    return;
                }
                mflFileCount += 1;
                document.getElementById("div_upload").innerHTML += newFileLoadTmp;
            }
            //删除函数
            function mflRemoveFile(id, obj) {
                alert();
                $("#" + id).remove();
                mflFileCount -= 1;
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <uc1:Header ID="Header1" runat="server" />
        </div>
        <div id="DivUpload">
            <div id="div_upload">
                <asp:FileUpload onchange="AddFile('li_upload','mflFileUpload')" ID="mflFileUpload"
                    CssClass="mflFileUploadCss" runat="server" /><img alt="" src="images/delete.gif"
                        onclick="mflRemoveFile('div_upload','mflFileUpload')" />
            </div>
        </div>
        <asp:Button ID="btnUp" runat="server" Text="批量上传" OnClick="btnUp_Click" />
        </form>
    </body>
    </html>
      

  3.   

    上面的document.getElementById("div_upload").innerHTML += newFileLoadTmp;
    改为$("#div_upload").append(newFileLoadTmp);