JS.js
来源:原创
时间:2016-07-23
作者:脚本小站
分类:代码笔记
//------------------------------------------------------------- //---------------------监听输入事件--------------------------- /* <input type="text" oninput="alert();" onpropertychange="alert()" /> */ onpropertychange IE oninput Other /* 区别IE和其他浏览器 if("\v"=="v"){ alert("IE"); }else{ alert("NO"); } */ //------------------------------------------------------------- //---------------------为元素添加事件------------------------- /* attachEvent Firefox中,对应的函数是 addEventListener <input type="button" id="theBtn" value="点击" /> var theBtn = document.getElementById("theBtn"); theBtn.attachEvent("onclick", buttonClicked); //给按钮增加事件 function buttonClicked(e){ alert("点击了一下"); } */ //------------------------------------------------------------- //-------------------------关闭窗口---------------------------- function closeWindow(){ window.opener = null; window.open('','_self'); window.close(); } //============================================================= //--------------------------json------------------------------- // json /* 一个对象以“{”(左括号)开始,“}”(右括号)结束。 每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用引号,数值型则不须要。 */ var o = {"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"}; /* 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始, “]”(右中括号)结束。值之间运用 “,”(逗号)分隔。 */ var jsonranklist=[ {"xlid":"cxh","xldigitid":123456,"topscore":2000,"topplaytime":"2009-08-20"}, {"xlid":"zd","xldigitid":123456,"topscore":1500,"topplaytime":"2009-11-20"} ]; // http://www.cnblogs.com/worfdream/articles/1956449.html //============================================================= //------------------------验证方法----------------------------- //是否全是汉字 function isChinese(string){ var re = /^[\u4e00-\u9fa5]+$/; return re.test(string); } alert(isChinese('汉字')); //是否全是字母数字和下划线 function num_letter(string){ reg = /^[a-zA-Z_0-9]+$/; return reg.test(string); } //是否全部为数字 function only_num(string){ reg = /^[0-9]+$/; return reg.test(string); } //对电子邮件的验证 function email(string){ var reg = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; return reg.test(string); } //============================================================= //-------------------------ajax-------------------------------- function getData(url,func){ var ajax; if(window.XMLHttpRequest){ ajax = new XMLHttpRequest(); }else{ ajax = new ActiveXObject('Microsoft.XMLHTTP'); } ajax.open('GET',url,true); ajax.onreadystatechange = function (){ if(ajax.readyState == 4 && ajax.status == 200){ //在回调函数中传入实参 func(ajax.responseText); } } ajax.send(); } //============================================================= //---------------------事件阻止-------------------------------- event.preventDefault() //阻止默认事件如超链接的跳转 event.stopPropagation() //不触发前辈元素的事件 //============================================================= //------------------------表单对象----------------------------- // 表单对象只有一个方法 document.mytest.submit(); // 表单对象中的属性主要包括以下: elements name action target encoding method // 表单对象 document.forms[0] // 而elements常常是多个表单元素值的数组,例: document.forms[0].elements[1] //表单里面的元素<input type="text" name="username"> // 如: document.forms[1].elements[0].name //表单名称 username //------------------------------------------------------------- //------------------------------------------------------------- // obj 不可为this,this为特定词 function xxx(obj){} //------------------------------------------------------------- // 离开页面执行 window.onbeforeunload = fun();//刷新或离开页面执行 window.onunload = fun(); //读取服务器数据后执行 function fun(){ //最好不要直接调用匿名函数 } //------------------------------------------------------------- window.onresize = fun(); //------------------------------------------------------------- //---------------------字符串数组互转------------------------- str.split(','); arr.join(','); //------------------------------------------------------------- //--------------------数组高效去重---------------------------- function unique(arr) { var result = [], hash = {}; for (var i = 0, elem; (elem = arr[i]) != null; i++) { if (!hash[elem]) { result.push(elem); hash[elem] = true; } } return result; } //------------------------------------------------------------- //---------------------字符串转JSON---------------------------- // 方法一 var c = '{"name":"Mike","sex":"女","age":"29"}'; var cToObj = eval("("+c+")"); alert(typeof(cToObj)); // 方法二 低版本浏览器不支持 var a = {"name":"tom","sex":"男","age":"24"}; var b = '{"name":"Mike","sex":"女","age":"29"}'; var aToStr = JSON.stringify(a); var bToObj = JSON.parse(b); alert(typeof(aToStr)); //string alert(typeof(bToObj)); //object //============================================================= //--------------------------js对象----------------------------- var Obj = { name:'小明', run:function(){ alert('我在跑'); } }; //删除变量或方法 delete Obj.run; delete Obj.name; //========================弹窗================================= //------------------------------------------------------------- // 无返回值 //参数详见DOM手册 windows.open(sURL , sName , sFeatures , bReplace) // url 窗口地址 // sName 如 _blank // sFeatures 窗口大小样式,写这个参数才是弹窗 window.open('__MODULE__/content/show_add','newwindow','height=99999,width=99999,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no') //------------------------------------------------------------- //------------------------------------------------------------- // 带返回值的 // 兼容有问题 window.showModalDialog() /* 方法用来创建一个显示HTML内容的模态对话框。 (就是打开后不能操作父窗口,只能等模式窗口关闭时才能操作)*/ // 例: // 父级页面中 var sURL = "hehe.html"; //要打开的页面 var vArguments = window; // 将父窗口对象传给子窗口 var sFeatures = "dialogHeight:200px;dialogWidth:450px"; // 打开页面的样式布局信息 var val = window.showModalDialog(sURL,vArguments,sFeatures); alert(val); // 弹出子页面的值 // 子页面中 //子页面返回的值,可以是字符、对象等js支持的任意数据类型 window.returnValue = "刷新"; // 定义模式窗口时,设定 window 为对话框参数,则在该窗口中,可通过window.dialogArguments来控制父窗口的一切元素。 window.showModelessDialog() /* 方法用来创建一个显示HTML内容的非模态对话框。 (就是打开后仍然可以进行其他的操作) */ // 参考资料 http://xyztony1985.blog.163.com/blog/static/361178200910523910805/ //------------------------------------------------------------- //=============================================================