使用 Ajax 生成的链接启动 JQuery 对话框
我有一个没有内容的 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>
I have a div which has no content. the content is dynamically loaded into the div, through jquery load(). This content contains links. I'm using the jquery load all links into functions to launch a dialog, but its not working because the links don't show in the source. Any workaround to this?
<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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要使用
.live
关键字,以便可以将事件附加到生成的 html。在 jquery 1.7 中(我认为)
.live
现在是.on
所以要小心那个。或者
您可能还想删除单击链接时链接的默认行为。
http://api.jquery.com/event.preventDefault/
You need to use the
.live
keyword so that you can attach events to generated html.in jquery 1.7 (i think)
.live
is now.on
so watch out for that one.or
You might also want to remove the default behavior of the link when you click on it.
http://api.jquery.com/event.preventDefault/