Javascript 为什么不在用ajax调用填充表之后使用jquery函数呢? $(文档).ready(函数(){ $(“.inline”).colorbox({inline:true,top:50,left:350,height:400}); $(“.tbllist.malzlist”).mouseover(函数(){ $(.tbllist.malzlist”).css(“背景色”、“白色”);//此函数不起作用 $(this.css(“背景色”、“黄色”); }); $(“.tbllist.malzlist”).dblclick(函数(){//此函数不起作用 var malznumber=$(this.children().first().text(); $(“#txtMatnr”).val(马尔兹努姆); $.colorbox.close(); }); $('#txtMatnr').keyup(函数(e){ 如果(e.which==13){ var MalzNo=$('#txtMatnr').val(); $.ajax({ 类型:“POST”, url:“Default2.aspx/GetQueryInfo”, async:false, 数据:“{MalzemeNo:'”+MalzNo+“}”, contentType:“应用程序/json;字符集=utf-8”, 数据类型:“json”, 成功:功能(数据){ var objdata=$.parseJSON(data.d); $.each(objdata,函数(){ $(“.tbllist>tbody:last”).append(“”); $。每个(此,函数(k,v){ $(“.tbllist tr:last”).append(“+v+”); }); $(“.tbllist>tbody:last”).append(“”); }); } }); $(“.inline”)。单击(); } }); });

Javascript 为什么不在用ajax调用填充表之后使用jquery函数呢? $(文档).ready(函数(){ $(“.inline”).colorbox({inline:true,top:50,left:350,height:400}); $(“.tbllist.malzlist”).mouseover(函数(){ $(.tbllist.malzlist”).css(“背景色”、“白色”);//此函数不起作用 $(this.css(“背景色”、“黄色”); }); $(“.tbllist.malzlist”).dblclick(函数(){//此函数不起作用 var malznumber=$(this.children().first().text(); $(“#txtMatnr”).val(马尔兹努姆); $.colorbox.close(); }); $('#txtMatnr').keyup(函数(e){ 如果(e.which==13){ var MalzNo=$('#txtMatnr').val(); $.ajax({ 类型:“POST”, url:“Default2.aspx/GetQueryInfo”, async:false, 数据:“{MalzemeNo:'”+MalzNo+“}”, contentType:“应用程序/json;字符集=utf-8”, 数据类型:“json”, 成功:功能(数据){ var objdata=$.parseJSON(data.d); $.each(objdata,函数(){ $(“.tbllist>tbody:last”).append(“”); $。每个(此,函数(k,v){ $(“.tbllist tr:last”).append(“+v+”); }); $(“.tbllist>tbody:last”).append(“”); }); } }); $(“.inline”)。单击(); } }); });,javascript,jquery,ajax,Javascript,Jquery,Ajax,ajax调用后我的表行 <script type="text/javascript"> $(document).ready(function () { $(".inline").colorbox({ inline: true, top: 50, left: 350, height: 400 }); $(".tbllist .malzlist").mouseover(function () {

ajax调用后我的表行

 <script type="text/javascript">

        $(document).ready(function () {

            $(".inline").colorbox({ inline: true, top: 50, left: 350, height: 400 });

            $(".tbllist .malzlist").mouseover(function () {
                $(".tbllist .malzlist").css("background-color", "white"); //this function dont work
                $(this).css("background-color", "yellow");

            });


            $(".tbllist .malzlist").dblclick(function () { //this function dont work

                var malznumber = $(this).children().first().text();
                $("#txtMatnr").val(malznumber);
                $.colorbox.close();

            });


            $('#txtMatnr').keyup(function (e) {
                if (e.which == 13) {

                    var MalzNo = $('#txtMatnr').val();

                    $.ajax({
                        type: "POST",
                        url: "Default2.aspx/GetQueryInfo",
                        async: false,
                        data: "{MalzemeNo:'" + MalzNo + "'}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function (data) {
                            var objdata = $.parseJSON(data.d);

                            $.each(objdata, function () {
                                $(".tbllist > tbody:last").append('<tr class="malzlist">');
                                $.each(this, function (k, v) {
                                    $(".tbllist tr:last").append("<td>" + v + "</td>");
                                });
                                $(".tbllist > tbody:last").append("</tr>");
                            });
                        }
                    });

                    $(".inline").click();
                }
            });
        });
    </script>

0000000000000000 18UPA1
0000000000000000 18UPA1

当我用ajax调用填充表格时,两个函数(我用注释编写)不起作用,我认为页面看不到ajax调用插入的行。当我直接用html填充表格时(没有ajax调用),它的工作可以帮我吗?

任何动态加载到页面中的内容都不会应用事件侦听器。解决此问题的方法是将侦听器应用于
文档
,如下所示:

<table class="tbllist">
<tr class="malzlist"><td>000000000000000018</td><td>upa1</td></tr>
<tr class="malzlist"><td>000000000000000018</td><td>upa1</td></tr>
</table>

对其他功能执行此操作,它们也应该可以工作。下面是有关
.on()
方法和事件委派的更深入的信息。希望这有帮助

你是对的问题是,无论何时绑定事件,元素都不存在,因此没有事件绑定到它们。这是一种典型的情况,您应该使用“委派事件”,如中所述。是的,这很有效,谢谢您的回答。
$(document).on('mouseover', '.tbllist .malzlist', function(){
   $(this).css("background-color", "white");
   $(this).css("background-color", "yellow");
});

$(document).on('dblclick', '.tbllist .malzlist', function(){
   var malznumber = $(this).children().first().text();
   $("#txtMatnr").val(malznumber);
   $.colorbox.close();
});