Javascript 替换内部div时jQuery animate出现问题
页面部分为:Javascript 替换内部div时jQuery animate出现问题,javascript,jquery,jquery-animate,Javascript,Jquery,Jquery Animate,页面部分为: <div id="cartslide"> <div id="swrapper"> content goes here </div> </div> 到目前为止,这是完美的。当我替换文件的内容时,问题就出现了 “swrapper”部分,包括: $.ajax({ type: "POST", url: "cart/slide
<div id="cartslide">
<div id="swrapper">
content goes here
</div>
</div>
到目前为止,这是完美的。当我替换文件的内容时,问题就出现了
“swrapper”部分,包括:
$.ajax({
type: "POST",
url: "cart/slider",
data: dataString,
cache: false,
success: function(html){
$("#swrapper").replaceWith(html);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown + ' '+ textStatus);
}
});
内容被替换(我可以用firebug看到),但它将不再切换
“cartslide”的内容,即随附的div
我很惊讶这个。我认为它会起作用,但我想不会,因为内部div(swrapper)的内容被替换了
这就是原因吗
有解决办法吗
谢谢 如果#animate two
在#swrapper
中,是的,这是有原因的
附加事件时,事件将附加到分区,即附加一次。如果替换它,则包含该事件的项将不再存在
解决方法是使用jQuery的live函数,这意味着即使创建了一个函数(包括替换),它也可以工作:
$(document).ready(function () {
$('#animate-both').live( 'click', function () {
$('#cartslide').animate({
opacity: 'toggle',
height: 'toggle'
});
});
});
从该请求返回的HTML是什么,例如,之后是什么样子?
$(document).ready(function () {
$('#animate-both').live( 'click', function () {
$('#cartslide').animate({
opacity: 'toggle',
height: 'toggle'
});
});
});