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”)。单击(); } }); });
ajax调用后我的表行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 () {
<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();
});