2012-07-10 137 views
0

我在Ajax调用中遇到了工作JS的问题。 JS工作正常,直到我从数据库中获得新数据或者当我得到ajax调用。 Ajax调用正常工作,只是JavaScript不加载。 请帮忙。Javascript在Ajax调用上不起作用

这里是示例index.php。

<!-- library --> 
    <script type="text/javascript" src="js/deleting_data.js"></script> 
    <link href="css/forme.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 
    <script type="text/javascript" src="js/funkcije.js"></script> 
    <link rel="stylesheet" type="text/css" href="css/dinamicno_iskanje.css" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
    <script type="text/javascript" src="js/jquery.ausu-autosuggest.min.js"></script> 

<div id="load" align="center"><img src="images/loading.gif" width="28" height="28" align="absmiddle"/> Loading...</div> 
    <div id="seek">//here comes refreshed data, with ajax call 
<table class="content" style="border-collapse: separate; border-spacing: 0px 5px; "> 
    <?php 
     while($row=mysql_fetch_array($query)) 
     { 
      //data from database 
     </table></div> 
    <div id="delete"></div> //ajax call for deleting data 

这里是refreshed_data.php

<!-- library --> 
    <script type="text/javascript" src="js/deleting_data.js"></script> 
    <link href="css/forme.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 
    <script type="text/javascript" src="js/funkcije.js"></script> 
    <link rel="stylesheet" type="text/css" href="css/dinamicno_iskanje.css" /> 
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> 
    <script type="text/javascript" src="js/jquery.ausu-autosuggest.min.js"></script> 

<div id="load" align="center"><img src="images/loading.gif" width="28" height="28" align="absmiddle"/> Loading...</div> 
<table class="content" style="border-collapse: separate; border-spacing: 0px 5px; "> 
<?php 
    while($row=mysql_fetch_array($query) 
    { 
     //refreshed data 
    ?> 
     </table> 
     <div id="delete"></div>//ajax call for deleting data 

这里是deleting_data.js,加载页面时whick工作normaly。

$(document).ready(function() { 
    //$(".gumb").live("click",function(){ 
    $('#load').hide(); 
    $('#brisanje').hide(); 
}); 

$(function() { 
    //$(".gumb").click(function() { 
    $(".gumb").live("click", function() { 

     $('#load').fadeIn(); 
     $('#brisanje').fadeIn(); 
     $(this).parent().parent().fadeOut(1000, function() { 
      $(this).remove(); 
     }); 
     $('#load').fadeOut(); 
     $('#brisanje').fadeOut(1000); 

    }); 
});    
+6

ajax调用在哪里? – 2012-07-10 19:08:33

+0

我没有发布ajax调用,因为它返回想要的结果,只是JS在ajax调用后不工作。 – 2012-07-10 19:16:10

+0

那么,你是否会在不会触发的AJAX调用中获取javascript,或者您是否获取了某些东西,但预先存在的javascript不会触发? – Fallenreaper 2012-07-10 19:17:30

回答

0

如果您正在寻找基于从AJAX调用创建的elemenet进行触发的JavaScript,则需要记住您的操作顺序。例如:如果您在时间为0时触发了.click事件分配,然后在时间为4时产生了与click事件参数相匹配的类型的内容,则不会分配.click属性。这是因为分配单击事件的脚本未应用于该元素。需要通过再次调用.click函数来重新应用。

+0

我改变JS文件,我使用live()函数,并且它工作,无论如何。 – 2012-07-10 20:11:53

0

现场()因为jQuery的1.7 被depracated尝试改用上(),像这样:

$('rootselector').on('click', 'selector', function(){ 
    ... 
}); 

与您的代码:

$(document).on('click', '.gumb', function() { 
// your stuff 
}) 

并记录在案,你包括jQuery两次:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>