提前致谢所有通读的人;)
所以我有一个问题,希望有人可以帮助我并澄清一些想法。这可能有点长,但我发现有必要解释一下这种嵌套问题。请光临我。
假设我有一些使用live方法将动态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中的函数中,我必须单击两次才能执行该操作。我该如何解决这个问题?
答案 0 :(得分:1)
使用live
或delegate
$("#myVid").live('click',function(){console.log("Debug Output");});
或绑定resume
成功回调中的点击处理程序,如
$("#resume").live('click',function(){
var data = $.get('resume.html');
data.success(function(data){$("#dynamic").html(data);
$("#myVid").bind("click");
});
});