js方法传入对象;js方法传入方法;js方法回调 callback

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<title>无标题文档</title>
</head>
<script type="text/javascript">
function apprise(string, args, callback)   //这里是args传递的是一个对象,而callback是一个方法
	{
	var default_args =
		{
		'input'		:	false, 		// 是否有文本框
		'textOk'		:	"肯定",		// 肯定按钮的默认值
		'textCancel'	:	"取消"		// 取消按钮的默认值
		}
	
	if(args)   //若是参数有值
		{
		for(var index in default_args)      //default_args 有3个属性,咱们对这3个属性进行循环
			{ 
				if(typeof args[index] == "undefined")    // 若是传递进来的参数的其中一个属性的值为undefined的话
					{
						args[index] = default_args[index];   
//咱们就给传递的参数的其中的一个属性一个默认值(这个默认值由default_args来提供) } } } //开始建立一个div var div='<div id="mydiv" style="border:1px #ccc solid;width:500px; height:300px">'+string; //若是须要建立文本框的话,咱们就建立一个input if(args["input"]==true){ div+='<input type="text">'; } //建立2个按钮 div+='<button value="ok">'+args["textOk"]+'</button><button value="cancel">'+args["textCancel"]+'</button>'+ '</div>'; $(div).appendTo($("body")); $("#mydiv > button").click(function(){ if(this.value=="ok"){ var txt=$("#mydiv > input[type='text']").val(); if(typeof(txt)!="undefined"){ //若是文本不为undefined的话,咱们就回调文本,不然就回调false callback(txt);//调用传进来的函数方法,而且把txt当作参数穿进去 ,就会执行 alert(canshu) 这个方法体了 } else{ callback(false); } }else { callback(false); //若是点击的是取消按钮,则直接返回false } }); } function my(){ apprise("请输入分组的名称", { 'input': true,'textOk':'点是'},function(re_value){ //这里实际上就是把canshu当作是返回值在使用 //若是你有什么ajax要提交 这里是最合适不过了 if(re_value){ //若是re_value有值的话 if (typeof (re_value) == 'string') { //若是返回的是个字符串,咱们就弹出来 alert(re_value) } } }); } </script> <body> <input type="button" onclick="my()" value="点击" /> </body> </html>
相关文章
相关标签/搜索