.load vs .on(“load”)

时间:2012-05-20 19:24:23

标签: jquery

我在div中加载一个php页面,它使用一个已发布的变量来显示正确的内容。它使用这个:

$(".mainArea").load("page.php", {'folder': 'a'}).fadeIn(); 
//passes vars, but all my jquery event handlers no longer work
问题是我动态加载这个内容后 - 我无法让我的事件处理程序工作。所以我认为解决方案就是这样:

$(".mainArea").on("load", "page.php", {'folder': 'a'}).fadeIn(); 
// all event handlers still work - but the variables do not get posted...

关于如何将这两者结合起来或者让后者实际传递变量的任何想法?

1 个答案:

答案 0 :(得分:5)

  • .load从指定的URL加载服务器中的数据,并将结果内容放在指定的元素中。

  • 当元素及其子元素已完全加载时,会发生load event。此事件仅适用于某些类型的元素。

基本上,他们做了两件完全不同的事情(但他们在jQuery中确实有相同的函数名,所以很容易混淆)。

至于您在加载新内容时事件处理程序未绑定的问题,您需要使用on 事件委派

$("container_selector").on("event", "child-element-selector", function () {...});