我的内容是我正在使用AJAX调用加载并在div
父级内部显示HTML(包含ul
s等)。
现在我编写了一系列.click
和.hover
函数,这些函数可以完美地处理所有内容,直到我的内容动态加载的位置,然后在动态上完全不起作用加载的内容。
我已经浏览了所有div
ID,以确保它们是正确的。有没有办法控制加载AJAX的材料?
答案 0 :(得分:0)
答案 1 :(得分:0)
问题是你的代码只运行那时存在的元素而没有“future”元素。你有两个选择:
1)在加载ajax内容后,重新运行“onload”javascript代码(已在文档就绪时应用)。
2)使用.live()
代替.bind()
:
所以改变
$('#selector').bind('click', function(){..
要
$('#selector').live('click',function(){..
区别在于live
使用与选择器匹配的元素,现在和将来,而bind
仅使用与选择器匹配的元素。调用。
希望这会有所帮助。干杯
答案 2 :(得分:-1)
您应该在加载内容后重新绑定事件或使用
.delegate
(api)将事件自动附加到新加载的元素。
类似的东西:
$("ul#container").delegate("li", "hover", function(){
doStuff();
});
$("ul#container").delegate("li", "click", function(){
doOtherStuff();
});
答案 3 :(得分:-1)
更改
$('a#whatever').click(function(){....
要
$('a#whatever').live('click',function(){....