对于jquery和javascript之间的函数调用有点疑问:
我写这样一个jquery代码:
[code="js"]
$(document).ready(function() {
function clickToPage() {
var options = {
...
success: clickToPageResponse,
...
};
$.ajax(options);
}
function clickToPageResponse(data) {...}
});
// jquery的$(document).ready(function(){}函数外部
function deleteFunction(id) {
var options = {
...
success: deleteFunctionResponse,
...
};
$.ajax(options);
}
function deleteFunctionResponse(result) {
var options = {
...
success: clickToPageResponse,
...
};
$.ajax(options);
}
[/code]
问题出来了,deleteFunctionResponse中怎么都呼出不到clickToPageResponse,我估计是因为deleteFunctionResponse在$(document).ready(function(){}外部,而clickToPageResponse在内部的原因,请问有没有办法让$(document).ready(function(){}外部的javascript代码调到内部的jquery函数?
我不是很明白在$(document).ready(function(){}内外的具体区别,感觉上内部应该是jquery的代码,外部的话就是javascript,而且为什么在jsp标签中用onclick属性调用的函数只能写在$(document).ready(function(){}外部,写在内部就是调不到,只能用.click()来加载onclick函数?
刚写的少了一种情况,现在补全
[code="html"]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<script type="text/javascript">
$(function() {
//这是函数体
function a() {//是本地函数
alert(1);
}
a(); //能调用本地函数a
b = a; //把a函数赋值给全局变量b
ccc();
});
function ccc() {
//a();//调用不到$(function(){});中的a函数,因为它是本地函数
b();//因为b是全局变量 可以调用到
}
</script>
简单来做
把js函数写进 $(document).ready(function(){}); 这个里面
我刚写了个demo,满足你说的
[code="html"]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
大哥 请把 function clickToPageResponse(data) {...} 写在$(document).ready(function(){})之外 他属于整个window的域 不只属于document
$(document).ready(function(){}的作用:保证document被完全加载,避免未加载完内容导致js的执行出现问题。所以一般将js写在其内。