我有一个没有内容的 div。内容通过 jquery load() 动态加载到 div 中。此内容包含链接。我正在使用 jquery 将所有链接加载到函数中以启动对话框,但它不起作用,因为链接未显示在源代码中。有什么解决办法吗?
<pre>
<script type="text/javascript">
$(document).ready(function() {
var $loading = $('<img src="loading.gif" alt="loading" class="loading">');
$('#maindiv a').each(function() {
var $dialog = $('<div></div>')
.append($loading.clone());
var $link = $(this).one('click', function() {
$dialog
.load($link.attr('href') + ' #content')
.dialog({
title: $link.attr('title'),
width: 500,
height: 300
});
$link.click(function() {
$dialog.dialog('open');
return false;
});
return false;
});
});
});
</script>
</pre>
最佳答案
您需要使用 .live
关键字,以便将事件附加到生成的 html。
在 jquery 1.7 中(我认为).live
现在是 .on
,所以要小心那个。
$(".Link").live("click", function(){
//code here
});
或
$("a").live("click", function(){
//code here
});
您可能还想删除点击链接时链接的默认行为。
关于javascript - 使用 Ajax 生成的链接启动 JQuery 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8440641/