[英]Jquery on dynamically loaded div
我有以下代码,
html表格
<form id="t-files">
<a style="margin-left:160px;" class="list-directories" href="#">Select File Path</a><br><br>
<div id="fileList"></div>
</form><br>
Ajax代码获取文件夹名称
$('.folderLink').on('click', function (e) {
alert('hello');
e.preventDefault();
$.ajax({
type: 'post',
url: 'list-directories-inner.php',
dataType: 'text',
data: $('#t-files').serialize(),
success: function (data) {
alert(data);
//$("#fileList").html(data);
}
});
});
php文件来处理文件夹名称
<?php
$path = 'templates';
$files = scandir($path);
foreach($files as $result) {
if ($result != "." && $result != ".." && $result != "desktop.ini")
{
echo '<img src="img/folder.png" width="40px"><a name="'.$result.'" class = "folderLink" href="#">'.$result.'</a></img><br>';
}
}
?>
上面的代码使用ajax将模板中的所有文件夹名称显示为链接,这工作正常,现在我要转到显示的每个文件夹的子文件夹。 当我单击链接时,它们都不起作用(没有警报)。 忘了ajax,这是我的jQuery,它不起作用。
$('.folderLink').on('click', function (e) {
alert('hello');
});
整个事情发生在另一个jquery加载的div中。 我不知道这个问题。 请帮忙
您必须使用委托事件绑定。 仅当您的.folderLink
已经在DOM
直接事件绑定才起作用。 但是在您的情况下,它是动态生成的
$(document).on("click",".folderLink",function(){
//do stuff
})
您的DOM中没有.folderLink类的CSS样式。 也许在AJAX调用之后但没有处于初始状态
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.