2012-07-10 191 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>