Php 通过AJAX请求动态插入html内容后,如何触发jquery函数? 123456789101112131415161718二十四li

Php 通过AJAX请求动态插入html内容后,如何触发jquery函数? 123456789101112131415161718二十四li,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,在浏览器上加载此html时,此代码有效。但是每当我向服务器端php发出AJAX请求时 timeline.php代码 <div id="timeline"> <ul class="grow" id="grown"><li>One</li><li>Two</li><li>Three</li><li>Four</li

在浏览器上加载此html时,此代码有效。但是每当我向服务器端php发出AJAX请求时

timeline.php代码

                 <div id="timeline">

                   <ul class="grow" id="grown"><li>One</li><li>Two</li><li>Three</li><li>Four</li><li>Five</li><li>Six</li><li>Seven</li><li>Eight</li><li>Nine</li><li>Ten</li><li>Eleven</li><li>Twelve</li><li>Thirteen</li><li>Fourteen</li><li>Fifteen</li><li>Sixteen</li><li>Seventeen</li><li>Eighteen</li><li>Nineteen</li><li>Twenty</li><li>Twentyone</li><li>Twentytwo</li><li>Twentythree</li><li>Twentyfour</li><li>Twentyfive</li><li>Twentysix</li><li>Twentyseven</li><li>Twentyeight</li><li>Twentynine</li><li>Thirty</li><li>Thirtyone</li><li>Thirtytwo</li><li>Thirtythree</li><li>Thirtyfour</li><li>Thirtyfive</li><li>Thirtysix</li><li>Thirtyseven</li><li>Thirtyeight</li><li>Thirtynine</li><li>Forty</li><li>Fortyone</li><li>Fortytwo</li><li>Fortythree</li><li>Fortyfour</li><li>Fortyfive</li><li>Fortysix</li><li>Fortyseven</li><li>Fortyeight</li><li>Fortynine</li><li>Fifty</li><li>Fiftyone</li><li>Fiftytwo</li><li>Fiftythree</li><li>Fiftyfour</li><li>Fiftyfive</li><li>Fiftysix</li><li>Fiftyseven</li><li>Fiftyeight</li><li>Fiftynine</li><li>Sixty</li><li>Sixtyone</li><li>Sixtytwo</li><li>Sixtythree</li><li>Sixtyfour</li><li>Sixtyfive</li><li>Sixtysix</li><li>Sixtyseven</li><li>Sixtyeight</li><li>Sixtynine</li><li>Seventy</li><li>Seventyone</li><li>Seventytwo</li><li>Seventythree</li><li>Seventyfour</li><li>Seventyfive</li><li>Seventysix</li><li>Seventyseven</li><li>Seventyeight</li><li>Seventynine</li><li>Eighty</li><li>Eightyone</li><li>Eightytwo</li><li>Eightythree</li><li>Eightyfour</li><li>Eightyfive</li><li>Eightysix</li><li>Eightyseven</li><li>Eightyeight</li><li>Eightynine</li><li>Ninety</li><li>Ninetyone</li><li>Ninetytwo</li><li>Ninetythree</li><li>Ninetyfour</li><li>Ninetyfive</li><li>Ninetysix</li><li>Ninetyseven</li><li>Ninetyeight</li><li>Ninetynine</li></ul>

                     </div>
                    <script>
$(document).ready(function(e) {
    alert("hi");
        stroll.bind('.grow');

});

    </script>

添加walk.bind以确保ajax请求的成功

<?php
$pg = pg_connect("host=localhost user=postgres password=vinit dbname=postgres");
//or die("Can't connect to database.");
if (!$pg)
{ 
echo "Couldn't make a connection!"; 
}
$page=$_GET['page'];
$sql1="select year,year_description,page_link from timeline48 where year<2020 order by year asc ";
echo "<ul class='grow' id='grow'>";
while ($row1 = pg_fetch_array($result1, NULL, PGSQL_ASSOC))
{
    $year =$row1['year'];
    $desc=$row1['year_description'];
    $link=$row1['page_link'];

    echo "<li>".$year."    ";
    echo "".$desc."  <a href='".$link."' target='_blank'>more..</a></li>";
    $count++;
}
echo "<ul>";
   echo "</nav>";

?>

或(来自评论)


我对JavaScript的这一方面不是很在行,所以我相信其他人可以帮你更多的忙,但是你需要使用
.on
.live
(如果使用jQuery 1.6或更低版本)。事件正在绑定到屏幕上的内容<但是,
.on
也绑定到动态添加的内容。但是,
.on
需要一个事件,在这种情况下没有事件。您的php html btw中缺少一个开头元素。@Kevin B…您能给我一个.on或.live的例子吗?如果(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari xmlhttp=new XMLHttpRequest();}否则{//IE6、IE5 xmlhttp=new ActiveXObject(“Microsoft.xmlhttp”);}xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4&&xmlhttp.status==200){document.getElementById(“timeline”).innerHTML=xmlhttp.responseText;}}xmlhttp.open(“GET”,“timeline.php?page=“+page,true”);xmlhttp.send();这是我提出ajax请求的方式。抱歉,我对这一切都不熟悉!
$.ajax(...).done(function(){
    stroll.bind(".grow");
});
$.post(...).done(function(){
    stroll.bind(".grow");
});
$.get(...).done(function(){
    stroll.bind(".grow");
});
$.getJSON(...).done(function(){
    stroll.bind(".grow");
});
$(element).load("file.php",function(){
    stroll.bind(".grow");
});
xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        document.getElementById("timeline").innerHTML=xmlhttp.responseText; 
        stroll.bind(".grow");
    } 
}