我正在尝试在 document.ready() 中运行两个 js 函数(我正在使用 jquery),但只运行一个。这是我的代码:
$(document).ready(function() {
show_properties();
table_events();
});
这些函数都写在同一个js文件中,但网站加载时只加载show_properties()。我在firebug控制台中测试写
表事件()
控制台告诉我“未定义”,但之后该函数被加载,ajax 调用以及该函数内的所有内容都开始工作。
这是为什么?我该如何解决这种行为?
谢谢。
这是我要运行的功能:
function table_events(){
$.ajaxSetup ({
cache: false
});
var wait = "<img src='../images/loading_red_transparent.gif' alt='loading...' style='display:block;margin-left:auto;margin-right:auto;'/>";
$('.apartamentos tr').on('click', function() {
alert("hola.")
var id_propiedad = $(this).find(".id_propiedad").html();
var nombre_propiedad = $(this).find(".nombre_propiedad").html();
//$('#property_information').hide('slow');
$("#property_information")
.html(wait)
.load('properties_info.php',{'nombre_propiedad':nombre_propiedad,'id_propiedad':id_propiedad});
//$('#property_information').show('slow');
});
}
function show_properties(){
$.ajaxSetup ({
cache: false
});
var wait = "<img src='../images/loading_red_transparent.gif' alt='loading...' style='display:block;margin-left:auto;margin-right:auto;'/>";
$('#busca_propiedades').on('click',function(){
var user_id = $('#user_list').val();
/*var data = $.ajax({
url: "properties_list.php",
type: 'POST',
data:{ 'user_id': user_id },
cache: false,
async: false
}).responseText;
});*/
$('#lista_aptos')
.html(wait)
.load('properties_list.php',{'user_id':user_id});
//alert(data);
});
}
编辑:在使用 console.log 进行一些调试后,我发现这段代码是网页加载时未执行的代码:
$('.apartamentos tr').on('click', function() {
alert("hola.")
var id_propiedad = $(this).find(".id_propiedad").html();
var nombre_propiedad = $(this).find(".nombre_propiedad").html();
//$('#property_information').hide('slow');
$("#property_information")
.html(wait)
.load('properties_info.php',{'nombre_propiedad':nombre_propiedad,'id_propiedad':id_propiedad});
//$('#property_information').show('slow');
});
显然,这个函数()是网页加载时不运行的函数;但是当我再次在控制台中写
表事件()
然后,当我单击表格的 tr 时,此函数内的代码将运行。