2011-07-04 73 views
0

大家好,非常感謝你的時間。基本上我正在開發的是一個網頁上的一長串視頻。我有一個包含10個視頻鏈接的div標籤。這些鏈接將打開一個嵌入了實際視頻的iframe html。所以父頁面沒有視頻,只有鏈接,錨點有href =「video.html」,video.html有視頻。一開始一切都很好,但之後我還需要一個排序功能。我做了我的排序功能,對視頻進行排序。點擊視頻更改。它的工作方式是使用.innerHTML =「」更改div內的內容。內容確實發生了變化,我能夠看到新的視頻鏈接和預覽圖像,但是當我點擊圖像時,href鏈接會在新窗口或父窗口中打開,但不是很確定,但並不重要,因爲Fancybox的確會不開放,我嘗試了許多不同的事情,但仍然沒有結果。所以我問的問題是爲什麼當錨標籤動態改變時,Fancybox不能工作。請幫忙Fancybox裏面的div,在onclick事件後不工作

好的,謝謝,我不確定如何使用.live和.bind,但我會研究它。現在,這裏是我的代碼

<div id="mask"> 
</div> 
<script type="text/javascript" language="javascript"> 
populate(); 
function populate() 
{ 
var mask=document.getElementById('mask'); 
mask.innerHTML = ''; 
mask.innerHTML = allvideos[3] + allvideos[0]; 
} 
//Then allvideos[3] for example would be like <a href="videos.html"/> 
//So up to this part everything works. But now if i try and do 
</script> 
<div onclick="change();" >doesntmatter</div> 
<script> 
//And the change function 
function change() { 
var mask=document.getElementById('mask'); 
mask.innerHTML = ''; 
mask.innerHTML = allvideos[3] + allvideos[0]; 
} 
</script> 

所以基本上相同的確切功能,但fancybox停止工作。現在Fancybox的代碼在開始時被調用,如下所示: $(document).ready(function(){$(「a.videos」)。fancybox({ ========= =====================================解決============ ======================= 必須改變 $(document).ready(function(){$(「a.videos」)。fancybox ({$(文件)。就緒(函數(){ $( 'a.video')。住( '的mouseenter',函數(){ $(本).fancybox( {

+0

我不認爲任何人都能夠在沒有看到代碼頁或工作示例的情況下提供幫助。 – jfriend00

+0

提供一些代碼 –

+0

試過幾件事情還沒有workign – Elliot

回答

0

右後(例如,當,你做了.innerHTML = "")你必須再次調用你的初始代碼,包括調用你的fancybox插件

您也可以嘗試使用.live()而不是.bind()

+0

我該如何讓這個活$(文檔)。準備(函數(){\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t $( 「a.videos」)。的fancybox({ – Elliot

+0

非常感謝你 – Elliot

1

使用live()

例如

,而不是$('#id').click(function(){});使用

$('#id').live('click',function(){}); 

現場將適用於動態添加對象

你用JavaScript改變了你的元素
+0

那麼現在我的代碼激活的fancybox這樣 $(文件)。就緒(函數(){\t $( 「a.videos」)。的fancybox({} );}); 那麼我將如何改變? – Elliot

+0

非常感謝你 – Elliot