Jquery 加载页面后自动执行.on()函数

Jquery 加载页面后自动执行.on()函数,jquery,Jquery,我使用$(“#容器”)。在(“单击”,contentEffects)使一些jquery代码在ajax调用后再次工作。但是,我希望.on()函数可以在页面加载后立即自动执行,而不需要单击事件。可能吗 请查看我的网站和javascript文件: 当ajax加载新帖子时,我必须单击帖子内容以启用javascript,还需要单击两次按钮以使其正常工作。真烦人。我怎样才能避免这个问题 谢谢大家! 您可以在链中运行它: //将调用传递到$的匿名函数 //当文档已加载时 $(函数(){ //绑定单击处理程

我使用
$(“#容器”)。在(“单击”,contentEffects)
使一些jquery代码在ajax调用后再次工作。但是,我希望
.on()
函数可以在页面加载后立即自动执行,而不需要
单击事件。可能吗

请查看我的网站和javascript文件:

当ajax加载新帖子时,我必须单击帖子内容以启用javascript,还需要单击两次按钮以使其正常工作。真烦人。我怎样才能避免这个问题


谢谢大家!

您可以在链中运行它:

//将调用传递到$的匿名函数
//当文档已加载时
$(函数(){
//绑定单击处理程序后立即执行
//我们在#容器上调用click事件
$(“#容器”)。在(“单击”,contentEffects)。单击();
});

听起来,你应该考虑的是事件委托,并将事件绑定到页面加载时存在的最接近的静态祖先元素。例如,假设我们有一个由AJAX动态填充的项目列表:

<ul id="items">
    <li>First item on load.</li>
    <!-- More items will be loaded
         via AJAX later on --->
</ul>
这适用于页面上已经存在的任何列表项,但正如您所经历的那样,新项目不会将其绑定到它们,因此在使用AJAX之后,您必须将其重新绑定到所有新的列表项

与此相反,我们可以绑定到始终存在的
ul
元素,只需侦听源自
li
元素的事件:

$("#items").on("click", "li", function () {
    alert( $(this).html() );
});

现在,我们的事件不再需要重新绑定,因为
#items
与页面一起加载,并且永远不会去任何地方。从嵌套列表项冒泡到此元素的任何单击事件(无论是否通过AJAX加载)都将被捕获和处理。

在页面加载后使用此代码执行.on函数

$(document).ready(function() {
         $("#container").on("click", function() {
         //Your Code
         });
});

非常感谢你的解释。我有两个小问题,我是否可以使用其他事件而不是单击?因为如果我点击帖子内容,discus会再次重新加载。而且,如果人们通过domain.com/post#u name.html这样的链接访问该网站,jquery代码仍然不起作用。对不起,这可能很愚蠢。但是我没有信心使用jquery,我已经做了很多研究来编写这个网站,这是我唯一不能处理的问题:(@Peiwen你可以对任何冒泡的事件使用委派。你可以查看
$的文档。
上的列表。我不确定你所说的“discus将再次重新加载”是什么意思。”如果人们在某个区域单击;可能需要从特定元素的单击中停止播放。我需要有关您问题的更多信息。我已经更新了代码,我做错了吗?请您再次访问该站点吗?干杯。@Peiwen为什么要将这些函数放在
$('.cate1,#about')中。单击()
?您正在
.cate1
#about
的点击处理程序中设置所有这些。我希望
.cate1
链接和
#about
链接都可以触发ajax调用,实际上
#about
链接将返回到索引页。欢迎来到StackOverflow,当您回答问题时,请尝试也返回包括对代码工作原理的解释,以及相关文档的链接。
$(document).ready(function() {
         $("#container").on("click", function() {
         //Your Code
         });
});