2015-01-14 36 views
0

所以我有一个名为'标语'的类与包含在名为'容器'的类的div中的div。当点击“标语”时,它将导航到另一个页面。问题是导航后这个新页面上的事件没有响应。下面是我使用导航代码:事件处理在动态生成的页面

$(document).ready(function(){ 
 
    $('.container').on('click', '.tagLines', function(){ 
 
     window.location = "manageMarks.php"; 
 
    }); 
 
}

以下是与被拒绝的导航工作后,该事件的代码:

$(document).ready(function(){ 
 
\t $('.container').on('click', '.loadSub', function(){ 
 
\t \t alert('Clicked'); 
 
\t }); 
 
});

但是,如果我使用ajax来加载我想要的新视图,ev最终工作。以下是我的AJAX代码我使用:

$(document).ready(function(){ 
 
    $('.container').on('mouseover', '.tagLines', function(){ 
 
    $.ajax({ 
 
\t \t \t type: 'GET', 
 
\t \t \t url: 'manageMarks.php', 
 
\t \t \t data: { 
 
\t \t \t videoCode: $(this).attr('data-code') 
 
\t \t \t }, 
 
\t \t \t success: function(data){ 
 
\t \t \t \t //alert(data); 
 
\t \t \t \t $('.container').html(data); \t \t \t \t 
 
\t \t \t } 
 
\t \t }).error(function(){ 
 
\t \t \t alert('An Error Has Occured'); 
 
\t \t }); 
 
});

我怎样才能得到它不使用AJAX工作吗?

+0

在浏览器控制台中是否有任何错误?你有没有在manageMarks.php中包含jQuery? – Rhumborl

+0

没有错误,是的jQuery包含/添加。 – Tatenda

回答

1

你在做整页重新加载吗?如果是这样,你的事件将需要再次连线。如果不是,他们应该连线到动态加载的内容。

+0

是的,我正在做一个完整的页面重新加载,这是不工作的。我在完成整页重新加载后如何连线它们。 – Tatenda

+0

随后的视图还需要一个$(document).ready(....),你需要再次连接所有的事件。当您导航到新页面时,所有JavaScript状态(包括事件)都会丢失。由于您没有离开页面,因此AJAX请求并非如此。 – garryp

+0

谢谢@garryp你让我误解了我的错误。它现在有效 – Tatenda