jquery点击并直播

时间:2011-09-11 06:31:33

标签: jquery html5

提前致谢所有通读的人;)

所以我有一个问题,希望有人可以帮助我并澄清一些想法。这可能有点长,但我发现有必要解释一下这种嵌套问题。请光临我。

假设我有一些使用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中的函数中,我必须单击两次才能执行该操作。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

使用livedelegate

$("#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");
  });
});