在我的wordpress网站的一个简单插件中,我编写了设置点击事件的代码,如下所示:
$(document).ready(function() {
$("#myButton").click(function() {
//do stuff
});
});
当我直接加载相关页面 时,此代码按预期工作。 但是,用户预期访问该页面的方式是通过主题标题中的链接。我不确定主题中的页面转换是如何工作的,但最终效果是每当单击链接时,会发生一些动画,页面淡出,新页面淡入。问题是$(文档)。当新页面淡入时,ready()不会触发,因此单击处理程序不起作用。
如何更改代码,以便在新页面淡入时注册点击处理程序?
如果有必要了解主题是如何工作的,我正在使用Bridge主题。该主题的演示版本可用here。
更新: 在播放主题页面过渡后,我怀疑主题是使用ajax获取新页面内容,淡出旧页面内容,淡入新页面内容,然后“人工”修改URL以显示新页面网址。
答案 0 :(得分:2)
如果将click事件绑定到文档,它将应用于文档加载后加载或创建的元素。
这可以这样做:
$(document).on('click', '#myButton', function() { /* ... */ });
答案 1 :(得分:-1)
您可以使用以下方法之一:
DOM方式
window.onload = function(){//用DOM做东西}
直接jQuery翻译
$(document).ready(function(){//用DOM做东西});
jQuery方式
$(function(){//用DOM做东西});