2010-04-30 119 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

相關問題