2011-03-28 39 views
0

添加DOM后一个元素的可见的准备,而不需要一个事件处理程序:添加元素,使他们无需事件处理程序

jQuery(document).ready(function() { 
var $body = $('body'); 
var strLoading = '<div id="ajax_loader" style="display:none">Loading ...</div>'; 
$body.append(strLoading); // add loading text to dom 
var $Loading = $('#ajax_loader'); 

$('some unrelated element already available at time of dom ready').click(function{ 

$Loading.toggle(); // show loading message 

LOAD SOME CONTENT THROUGH AJAX 

$Loading.toggle(); // hide loading message 

}); 
}); 

我现在想显示和隐藏它按要求如此:

$('some unrelated element already available at time of dom ready').click(function{ 

$Loading.toggle(); // show loading message 

LOAD SOME CONTENT THROUGH AJAX 

$Loading.toggle(); // hide loading message 

}); 

看来该元素在dom中不可用。我如何添加它,并在稍后看到它。

更新: 我不知道它为什么不是在我结束工作,我只是创造了这个小提琴和它工作正常那里。

Fiddled

+0

我不知道你做了什么,但下次尝试通过正确的代码,而不是语法突出显示信息的代码。 – 2011-03-28 14:15:32

+0

@FelixKling:大声笑,我从来没有见过。看起来很混乱 – qwertymk 2011-03-28 14:17:30

+0

我没有看到代码:( – Caren 2011-03-28 14:19:52

回答

0

没有什么错,你发布的代码。尝试在其他地方找到问题。

哪个元素有问题?你为什么认为元素不可用?你试过$()。长度还是类似的东西?如果切换似乎没有任何效果,可能是由于您没有与我们分享的其他JS或CSS。

+0

在dom准备就绪后,第一个代码块准备将该元素添加为身体的最后一个子元素。一旦用户点击指定的元素上我想显示加载构件是身体的最后一个子和阿贾克斯结束后,再次隐藏的元素。唯一的CSS代码是#ajax_loader {display:none} – Caren 2011-03-28 14:26:16

0

您可以简单地在您的关闭身体标记之前包含您的脚本。

相关问题