0

Ajax 呼び出しでの JS の動作に問題があります。データベースから新しいデータを取得するまで、または ajax 呼び出しを取得するまで、JS は正常に動作します。Ajax 呼び出しは正常に機能しますが、Javascript が読み込まれないだけです。助けてください。

これが 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で、ページがロードされたときに正常に動作します。

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

    });
});             
4

2 に答える 2

0

AJAX呼び出しから作成されたelemenetに基づいて起動するjavascriptを探している場合は、操作の順序を覚えておく必要があります。例:時間0で.clickイベントassignemntを起動し、時間4でクリックイベントのパラメーターに一致するタイプを生成するコンテンツをajaxした場合、.clickプロパティは割り当てられません。クリックイベントを割り当てるスクリプトがその要素に適用されていないためです。その.click関数をもう一度呼び出して再適用する必要があります。

于 2012-07-10T19:20:49.043 に答える
0

live() は jQuery 1.7 以降非推奨です。代わりに、次のように on() を使用してみてください。

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

あなたのコードで:

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

記録のために、jQuery を 2 回含めています。

<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> 
于 2014-01-29T08:26:27.903 に答える