我正在使用Drupal,并且IH已经使用jQuery加载函数成功加载了节点创建表单
<div id='test'></div>
<a href='#' id='test2'>test</a>
因此,当单击链接时,它将加载表单
var ajax_load = "loading...";
var loadUrl = "NODE_CREATE_PATH";
$("#test2").click(function(){
$("#test").html(ajax_load).load(loadUrl);
});
现在我的问题是所有脚本,如日期弹出窗口都不适用于这个寄存表格。 有人建议我使用 http://api.jquery.com/live/,但我不知道如何使用。
请帮忙
这是因为 DOM 正在用新的 HTML 重新加载。因此,这些节点上的绑定将不再起作用。
据我所知,您可以将:http://api.jquery.com/on/(实时事件已弃用)用于其他绑定,但不适用于日期选择器。
你可以做这样的事情:
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"));
});
});
使用Drupal.attachBehaviors()我们可以:)
例
$(id).load(url, function(){
Drupal.attachBehaviors(this);
});