我遇到了一个问题,在通过 AJAX 动态填充元素后,我的 jQuery 函数无法处理新内容。
例如,我有一个文件列表,当点击“刷新”按钮时会填充这些文件。我想在双击列表中的项目时显示带有文件名的警报。每个项目都有“文件”类。
我正在使用这段代码:
$('.file').on('dblclick', function(event){
alert($(this).html());
});
这适用于首先存在的任何元素,但不适用于 AJAX 调用之后。
这是一项学校作业,我需要使用常规的 Javascript AJAX 方法,而不是内置的 jQuery AJAX 功能。我猜这是问题所在,也是 jQuery 没有注意到新填充的元素的原因。
刷新按钮正在调用此函数:
function getFileList()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("files").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","filelist.php",true);
xmlhttp.send();
}
如果我被迫使用常规 JS 来进行 AJAX 调用而不是 jQuery 的 AJAX 方法,如何让 jQuery 正确地注意到这些新元素?