javascript - 将多个 .php 文件加载到一个 div 中

标签 javascript php jquery html css

你好,我有这段代码可以将 php 文件加载到 div 中。它可以工作,但我需要将下一个文件加载到这个 div 中。

<script type="text/javascript">
    $(function() {
        $("a.load").on("click", function(load) {
            load.preventDefault();
            $("#zaw").hide().load(this.href).fadeToggle(1000);
        });
    });
</script>

<li><a class="load" href="zzz.php">zzz</a></li>

如果我单击“zzz”链接将文件加载到我的 div(带图像的文件表)中,我需要隐藏此页面并通过单击图像加载下一步。

enter image description here

更新

现在工作

<script type="text/javascript">
    $(function() {
        $("a.load").on("click", function(load) {
            load.preventDefault();
            $("#zaw").hide().empty().load(this.href).fadeToggle(1000);
        });
    });
</script>

最佳答案

您只需将另一个点击事件绑定(bind)到您通过load() 函数加载的图像(或表体)。但是,您可能会遇到点击不起作用的问题,原因如下:

如果您附加两个点击处理程序,一个用于 a.load,第二个用于,比方说,.image,那么只有第一个事件会实际绑定(bind)到它的元素,第二个不会被附加,因为 .image 还不存在 - 直到你加载它。

您可能会期望,一旦您的 php 文件内容被加载(其中包含 .image 元素),然后单击它们将触发您声明的操作,但它不会 - 那些.image 是新的 DOM 元素,它们缺少事件绑定(bind)过程,该过程仅在创建 DOM 时完成一次(或者如果您使用 $.(document).ready,则 DOM 已准备就绪) ()).

因此,为了让这些点击起作用,您需要将它们附加到 load() 函数回调中,如下所示:

$("a.load").on("click", function(load) {
        load.preventDefault();
        $("#zaw").hide().load(this.href, function(){
            $(".image").on("click", function(e) {
            $("#zaw").hide().load(/* load what you want */);
        });
    })
    .fadeToggle(1000);
});

或在您正在加载的 php 文件中插入 .image 单击事件绑定(bind)或使用某种委托(delegate),例如:

$(document).on('click', '.image', function(){
    /* do what you want */
});

这将确保即使是新的、动态创建的 DOM 元素也会触发您想要的操作。

关于javascript - 将多个 .php 文件加载到一个 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27667253/

相关文章:

javascript - 查找以字符串开头的对象中的元素

php - 我是 OOP/PHP 的新手。类中可见性和可扩展性的实用性是什么?

php - 存储过程调用后 Codeigniter DB 错误

jquery - Bootstrap 导航栏覆盖缩放内容

javascript - 将 css 类添加到菜单项单击的下拉菜单中

javascript - JS Canvas 动画,我的效果是加速和累加,但是效果的速度在控制台是一样的吗?

javascript - 在下一个 js react 项目中添加 favicon

javascript - javascript中的php数组连接

c# - 如何将对象序列化为 json 并将其发送到 Web 服务?

javascript - 如何使用 Rivets JS 将新对象绑定(bind)到 View ?