2011-09-11 60 views
0

在此先感謝所有誰讀通過;)jQuery的點擊和生活

所以我有希望有人也許能夠幫我澄清一些想法的問題。這可能有點長,但我覺得有必要解釋一下這種嵌套問題。請和我一起裸照。

假設我有一些鏈接使用實時方法將動態file.html數據加載到現有的div元素中,並且該file.html具有其他加載的鏈接。我希望能夠點擊這些鏈接加載更多newfile.html到另一個div元素沒有頁面重新加載。

例如:

的index.html

<ul> 
<li><a id="resume">My Resume</a></li> 
<li><a id="bio">Biography</a></li> 
</ul> 
<div id="dynamic"> 
... this div will load either resume.html or bio.html loaded depending on what link the user clicks on ... 
</div> 

resume.html

<p> 
.... blah blah .. <a id="vid1">Volunteer work day</a> .... 
</p> 
<div id="video> 
<object> ... some php ... </object> 
</div> 

JQuery的

$(document).ready(function(){ 
    $('a[rel!="external"]').click(function(){e.preventDefault();}); 
    $("#resume").live('click',function(){ 
     var data = $.get('resume.html'); 
     data.success(function(data){$("#dynamic").html(data);}); 
    }); 
    // should this be in the $("#resume").click function if this new link 
    // is loaded from clicking the resume link? 
    $("#myVid").click(function(){console.log("Debug Output");}); 
}); 

好的,所以在這裏如果我留下代碼,新鏈接(志願工作日)點擊時不會做任何事情。如果我將它放入將resume.html內容加載到動態div中的函數中,則必須單擊兩次以使動作發生。我怎樣才能解決這個問題?

回答

1

使用livedelegate

$("#myVid").live('click',function(){console.log("Debug Output");}); 

或綁定像

$("#resume").live('click',function(){ 
    var data = $.get('resume.html'); 
    data.success(function(data){$("#dynamic").html(data); 
    $("#myVid").bind("click"); 
    }); 
}); 
+0

啊,我忽略了良好的OLE綁定在resume成功回調單擊處理程序。謝謝。 – robx