Javascript在Ajax调用上不起作用
问题描述:
我在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);
});
});
答
如果您正在寻找基于从AJAX调用创建的elemenet进行触发的JavaScript,则需要记住您的操作顺序。例如:如果您在时间为0时触发了.click事件分配,然后在时间为4时产生了与click事件参数相匹配的类型的内容,则不会分配.click属性。这是因为分配单击事件的脚本未应用于该元素。需要通过再次调用.click函数来重新应用。
+0
我改变JS文件,我使用live()函数,并且它工作,无论如何。 – 2012-07-10 20:11:53
答
现场()因为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>
ajax调用在哪里? – 2012-07-10 19:08:33
我没有发布ajax调用,因为它返回想要的结果,只是JS在ajax调用后不工作。 – 2012-07-10 19:16:10
那么,你是否会在不会触发的AJAX调用中获取javascript,或者您是否获取了某些东西,但预先存在的javascript不会触发? – Fallenreaper 2012-07-10 19:17:30