javascript - 使用 Ajax 生成的链接启动 JQuery 对话框

标签 javascript jquery ajax dialog hyperlink

我有一个没有内容的 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
});

您可能还想删除点击链接时链接的默认行为。

http://api.jquery.com/event.preventDefault/

关于javascript - 使用 Ajax 生成的链接启动 JQuery 对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8440641/

相关文章:

javascript - 从左到右连续呈现 div 列表,然后从下到上呈现行(通过 CSS/jQuery)

javascript - 对象字面量方法的范围

javascript - 网页 View 后退按钮

javascript - jQuery 关闭屏幕导航

javascript - 如何在 JQuery 中使用 foreach 循环

javascript - 如何使用ajax将数据加载到下拉列表更改的表中

javascript - Node.js:crypto.pbkdf2 十六进制密码

jquery - 更改 jquery 拖放列表中前 10 个列表项的颜色

javascript - 无法在 JS 函数之间传递变量

php - search_model::autocomplete() 缺少参数 1,