0 0

jquery 函数调用0

对于jquery和javascript之间的函数调用有点疑问:
我写这样一个jquery代码:
$(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);
}

问题出来了,deleteFunctionResponse中怎么都呼出不到clickToPageResponse,我估计是因为deleteFunctionResponse在$(document).ready(function(){}外部,而clickToPageResponse在内部的原因,请问有没有办法让$(document).ready(function(){}外部的javascript代码调到内部的jquery函数?
我不是很明白在$(document).ready(function(){}内外的具体区别,感觉上内部应该是jquery的代码,外部的话就是javascript,而且为什么在jsp标签中用onclick属性调用的函数只能写在$(document).ready(function(){}外部,写在内部就是调不到,只能用.click()来加载onclick函数?
2012年9月06日 12:30

6个答案 按时间排序 按投票排序

0 0

采纳的答案

刚写的少了一种情况,现在补全

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript">
		$(function(){
			alert("1");
			function demo()
			{
				alert("demo");
			}
			window.somefun=function(){
				alert("外面 也要调用");
			}


		});
		function test1()
		{
			somefun();//或者 window.somefun();
		}
		
	</script>
</head>
<body>
	<input onClick="test1()" type="button" value="测试" />
    <input onClick="somefun()" type="button" value="测试" />
</body>
</html>

2012年9月06日 12:49
0 0

$(document).ready(function(){}的作用:保证document被完全加载,避免未加载完内容导致js的执行出现问题。所以一般将js写在其内。

2012年9月06日 15:46
0 0

我刚写了个demo,满足你说的

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript">
		$(function(){
			alert("1");
			function demo()
			{
				alert("demo");
			}
			window.somefun=function(){
				alert("外面 也要调用");
			}


		});
		function test1()
		{
			somefun();//或者 window.somefun();
		}
		
	</script>
</head>
<body>
	<input onClick="somefun()" type="button" value="测试" />
</body>
</html>

2012年9月06日 12:47
0 0

简单来做
把js函数写进 $(document).ready(function(){});   这个里面

2012年9月06日 12:36
0 0

<script type="text/javascript">

        $(function() {
    //这是函数体

function a() {//是本地函数
   alert(1);
}

    a(); //能调用本地函数a

b = a; //把a函数赋值给全局变量b

            ccc();
});

function ccc() {
    //a();//调用不到$(function(){});中的a函数,因为它是本地函数
b();//因为b是全局变量 可以调用到
}


</script>

2012年9月06日 12:35
0 1

大哥 请把 function clickToPageResponse(data) {...}  写在$(document).ready(function(){})之外 他属于整个window的域 不只属于document

2012年9月06日 13:11

相关推荐

Global site tag (gtag.js) - Google Analytics