现在的位置: 首页 > 综合 > 正文

JS通过事件的传递来间接调用定义在函数中的函数

2013年08月08日 ⁄ 综合 ⁄ 共 579字 ⁄ 字号 评论关闭
<html>
<head>
<title>Test</title>
<script type="text/javascript">
var a = -1;
var b = -1;

function A(){
	document.getElementById("MyButton1").onclick = function B(){
		alert("a = " + a +" ; " + "b = " + b);
	}
}

function C(new_a,new_b){
	a = new_a;
	b = new_b;
	//触发MyButtonn1的单击事件
	document.getElementById("MyButton1").click();
}
</script>
</head>

<body onload = "A();">
	<INPUT type="button" id="MyButton1" style = "display:none" value="button1">
	<INPUT type="button" id="MyButton2" onclick = "C(2,3);" value="button2">
</body>
</html>

把MyButton1设为隐藏,通过点击MyButton2可以直接调用函数A中的函数B。其中的MyButton1的单击事件充当了类似“桥梁”做作用,这样的好处是在执行函数B时保持了原有的上下文环境,当函数A中有很多函数和变量时会比较好用。

抱歉!评论已关闭.