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>
相關文章
相關標籤/搜索