使用javascript页面转换时,替代jquery $(document).ready(handler)

时间:2015-04-19 04:40:35

标签: javascript jquery wordpress transition

在我的wordpress网站的一个简单插件中,我编写了设置点击事件的代码,如下所示:

$(document).ready(function() {
    $("#myButton").click(function() {
        //do stuff
    });
});

当我直接加载相关页面 时,此代码按预期工作。 但是,用户预期访问该页面的方式是通过主题标题中的链接。我不确定主题中的页面转换是如何工作的,但最终效果是每当单击链接时,会发生一些动画,页面淡出,新页面淡入。问题是$(文档)。当新页面淡入时,ready()不会触发,因此单击处理程序不起作用。

如何更改代码,以便在新页面淡入时注册点击处理程序?

如果有必要了解主题是如何工作的,我正在使用Bridge主题。该主题的演示版本可用here

更新: 在播放主题页面过渡后,我怀疑主题是使用ajax获取新页面内容,淡出旧页面内容,淡入新页面内容,然后“人工”修改URL以显示新页面网址。

2 个答案:

答案 0 :(得分:2)

如果将click事件绑定到文档,它将应用于文档加载后加载或创建的元素。

这可以这样做:

$(document).on('click', '#myButton', function() { /* ... */ });

答案 1 :(得分:-1)

您可以使用以下方法之一:

  • DOM方式

    window.onload = function(){//用DOM做东西}

  • 直接jQuery翻译

    $(document).ready(function(){//用DOM做东西});

  • jQuery方式

    $(function(){//用DOM做东西});