脚本停止加载的形式工作 - jQuery的负载AJAX

问题描述:

我使用Drupal的和ihve使用jquery加载功能脚本停止加载的形式工作 - jQuery的负载AJAX

<div id='test'></div> 
<a href='#' id='test2'>test</a> 

所以successfuly加载的节点创建表单点击链接时,它会加载形式

var ajax_load = "loading..."; 
var loadUrl = "NODE_CREATE_PATH"; 
$("#test2").click(function(){   
    $("#test").html(ajax_load).load(loadUrl);     
}); 

现在我的问题是像日期弹出窗口的所有脚本不适用于此loded窗体。有人建议我使用http://api.jquery.com/live/,但我不知道如何使用。

请帮忙

(),我们可以:)

例如

$(id).load(url, function(){ 
    Drupal.attachBehaviors(this); 
}); 

这是因为DOM正在重新加载新的HTML。因此你在这些节点上的绑定将不再起作用。

对于其他绑定,您可以使用http://api.jquery.com/on/(实时事件已弃用),但据我所知,不能用于日期选择器。

你可以做这样的事情:用Drupal.attachBehaviors

function bindStuff(node) { 
    node.find('.datepicker').datepicker(); 
    // Do some more bindings here 
} 

$("#test2").click(function(){ 
    $("#test").html(ajax_load).load(loadUrl, function() { 
     bindStuff($("#test")); 
    }); 
}); 

$("#example2").click(function(){ 
    $("#example").html(ajax_load).load(loadUrl, function() { 
     bindStuff($("#example")); 
    }); 
}); 
+0

感谢,但是这将是耗时..我想要使用它更多的形式,有没有简单的方法就像在Ajax负载,更改DOM – Serjas 2012-04-20 11:49:02

+0

例如,Facebook如何做到这一点?绑定每个函数agaian并再次!我不这么认为 – Serjas 2012-04-20 11:51:36

+0

对于事件和东西,你可以在事件类型上使用jQuery,但据我所知,不能用于datepicker。我用多种形式的示例更新了我的答案。 – 2012-04-20 12:03:05