javascript - 如何在继续脚本之前有效地等待链接文件完成运行

标签 javascript php jquery html

因此,我通过名为 ajaxLoad.php 的文件中的 foreach 循环向 index.php 添加元素,该文件是使用 jQuery 的 load() 加载的。

问题是当我尝试选择这些元素时,jQuery 无法找到它们。我知道 ajaxLoad.php 尚未完成打印消息。当我尝试使用 jQuery 选择删除类 anchor 时,jQuery 找不到它们。

            <div class="messages">

                <!--these are added by the foreach loop-->
                <a href="#" class="delete">Delete</a>

            </div>

一个可能重要的注意事项是删除类不在index.php 标记中,它们仅通过load() 添加。这是内联 jQuery:

<script>
$(function(){

    //adds messages to a div
    $('.messages').load('ajaxLoad.php');

    //later on...
    $('.delete').click(function(){
        alert('Hey');
        //nothing happens
    });

});
</script>

我已经研究过 $(window).load(function(){}) 但它似乎不起作用。 我很乐意提供帮助!谢谢!

最佳答案

放在回调函数中,见manual :

$('.messages').load('ajaxLoad.php', function() {
    $('.delete').click(function(){
        alert('Hey');
    });
});

或者使用event delegation :

$('.messages').load('ajaxLoad.php');

//later on...
$('body').on('click', '.delete', function() {
// ^^^^ any containing element that is already there on page-load
    alert('Hey');
});

关于javascript - 如何在继续脚本之前有效地等待链接文件完成运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234113/

相关文章:

javascript - 是否有任何跨平台的方法可以在 javascript 中针对 xsd 验证 xml?

javascript - 访问App组件中的位置属性

php - MVC框架的理想文件夹结构

php - 如何删除 libcurl POST 请求响应中收到的额外数据?

javascript - 使用 Jquery 复选框类型动态调用 Shopify 产品 ID 添加到购物车

javascript - 我的 for 循环中的这些小数来自哪里?

javascript - 对象到数组 - 快速转换

php - Symfony2 - UniqueEntity 无法使用两个字段的ignoreNull

javascript - 暂时停用.hover

javascript - 使用json和jquery显示类别的多级子类别