2016-12-15 55 views
0

我希望我的代码在一些新数据加载到页面本身后再次运行。例如:在页面加载新内容后再次运行jquery

$(document).ready(function() { 
    console.log("page completed"); 
} 

一旦完全加载页面,它将在控制台中打印page completed。新的东西加载到页面中时,有什么方法可以重新运行代码?案例#1:在Facebook新闻提要中,当用户向下滚动页面时,将运行JavaScript以检索新的Facebook供稿和更新。

案例#2:当URL本身发生变化时重新运行脚本。

+8

将需要执行的代码放入函数中,并在加载新内容时调用该函数。 –

+0

把它放在一个函数中是一种干净整洁的方法,但你也可以用'.trigger()'手动触发任何事件处理程序(我并不是建议你这么做 - 只是告诉你) – Archer

回答

2

您可以用正常的功能取代你的匿名函数这样

function onDocumentReady() { 
    // Your code 
} 

然后使用在$(document).ready(onDocumentReady)和稍后再打电话需要的地方。

1

除了@Bastiaanus的回答有一个共同的功能,并假设你的新内容是通过jQuery的AJAX加载的,你可以配置一个全局处理程序来运行一些代码,每次加载一些内容时,使用.ajaxSuccess()

如果您想处理更多此类事件,请参阅this link

相关问题