2010-04-30 123 views
7

我基本上有同样的问题,在这个问题:jQuery.remove() - 删除对象后,有没有办法让对象返回?

Flash Video still playing in hidden div

我使用jQuery的卸下摆臂电话和工作原理。不过,当用户滚动浏览隐藏/非隐藏的div时,我有上一个/下一个按钮。我需要知道的是,一旦我删除了Flash对象,除了刷新页面之外,是否有办法恢复它?

基本上,这可以处理客户端或我需要执行一些服务器端处理。

detach()将不起作用,因为Flash视频会继续播放。

我不能隐藏它,因为视频还在播放。

回答

22
$myVariable = $("#removeMe").detach(); 

.detach()函数明确地将某些东西从DOM中取出以便稍后放回。这是一件好事。

API参考:http://api.jquery.com/detach/

+0

这听起来像是一个Flash问题(我对此知之甚少)。 JS可以发送一个信号给闪存对象来暂停它? 回答这个转折的问题有点难。 – 2010-04-30 21:29:22

+0

不是一个转折的问题。我发布了一个链接,展示问题所在。这是一个IE问题,不是闪光问题。 – 2010-04-30 21:31:32

+0

这会起作用,但是,它不适用于Flash对象。但它仍然是最正确的。 – 2010-05-20 19:26:39

1

您可以将其分配给一个变量:

var undo = $('#someDiv') 

然后使用“撤消”来重新插入项目的价值。

$('#placeholder').html(undo) 

也许你最好隐藏它而不是删除它。

+0

不能隐藏它。 div包含flash视频,在其他浏览器中,当div被隐藏时,它们停止播放。在IE中,他们继续玩,因此需要将其删除。 – 2010-04-30 21:22:51

2

你试过:

var clone = $("#someDiv").clone(true); 
$("#someDiv").remove(); 
+1

+1:这很好用!但是我会使用'.empty()'而不是删除,这样你就可以将内容附加到同一个div中。 – Mottie 2010-05-02 14:59:51

相关问题