随笔分类 - 【javascript高级程序设计】笔记
摘要:Form的序列化function serialize(form){ var parts = [], field = null, i, len, j, optLen, option, optValue; for (i=0, len=form.elements.length; i < len; i++){ field = form.elements[i]; switch(field.type){ case "...
阅读全文
摘要:1、contextmenu(windows的右键菜单的意思)<html><head> <title>ContextMenu Event Example</title> <script type="text/javascript" src="EventUtil.js"></script></head><body> <div id="myDiv">Right click or Ctrl+click me to get a custo
阅读全文
摘要:1、所有的键监听事件(keydown、keyup)var textbox = document.getElementById("myText");EventUtil.addHandler(textbox, "keydown", function(event){ event = EventUtil.getEvent(event); alert(event.keyCode);});EventUtil.addHandler(textbox, "keyup", function(event){ event = EventUtil.getEve
阅读全文
摘要:定位鼠标位置1、在浏览器可视窗口的位置 EventUtil.addHandler(div, "click", function(event){ event = EventUtil.getEvent(event); alert("Client coordinates: " + event.clientX + "," + event.clientY); });2、在整个页面的窗口的位置(当页面没有滚动条时跟1的值一致)注意:在IE8及更早版本不支持pageX和pageY,可以通过document.body(混杂模式)或者document.
阅读全文
摘要:校验浏览器是否支持某事件:document.implementation.hasFeature("FocusEvent","3.0")常用的焦点事件有:blur:在元素失去焦点时触发,该事件不会进行冒泡,所有浏览器都支持focusout:在元素失去焦点时触发,该事件会进行冒泡,支持它的浏览器有:IE5.5+、Safari5.1+、Opera11.5+、Chrome。focus:在元素得到焦点时触发,该事件不会进行冒泡,所有浏览器都支持focusout:在元素得到焦点时触发,该事件会进行冒泡,支持它的浏览器有:IE5.5+、Safari5.1+、Opera
阅读全文
摘要:校验浏览器是否支持某事件:document.implementation.hasFeature("FocusEvent","3.0")scroll事件scroll事件是在文档被滚动期间重复触发的一个事件EventUtil.addHandler(window, "scroll", function(event){ if (document.compatMode == "CSS1Compat"){ alert(document.documentElement.scrollTop); } else { alert(doc
阅读全文
摘要:校验浏览器是否支持某事件:document.implementation.hasFeature("FocusEvent","3.0")对HTML元素添加事件的方法有:1、<a onclick='xxxx()'></a><body onload='xxx()'>2、window.onload = function(){ //do something }document.getElementById("myBt").click=function(){ //do somet
阅读全文
摘要:节点(Node)的类型(nodeType)真实值 常量1 Node.ELEMENT_NODE2 Node.ATTRIBUTE_NODE3 Node.TEXT_NODE4 Node.CDATA_SECTION_NODE5 Node.ENTITY_REFERENCE_NODE6 Node.ENTITY_NODE7 Node.PROCESSING_INSTRUCTION_NODE8 Node.COMMENT_NODE9 Node.DOCUMENT_NODE10 ...
阅读全文
摘要:client.js:var client = function(){ //呈现引擎 var engine = { ie: 0, gecko: 0, webkit: 0, khtml: 0, opera: 0, //完整的版本号 ver: null }; //浏览器 var browser = { //主要的浏览器 ie: 0, firefox: 0, safar...
阅读全文
摘要:Math对象包含了一些计算中可能会用到的一些特殊值,例如:Math.PI代表圆周率π。常用方法:1、max和min取最大值和最小值var max = Math.max(3, 54, 32, 16);alert(max); //54var min = Math.min(3, 54, 32, 16);alert(min); //3var arr = [3, 54, 32, 16];alert(Math.max.apply(Math,arr)); //54 使用这种方法可以让max和min支持传入数组对象2、舍入函数(ceil()、floor()、round())//ceil:只要有小...
阅读全文
摘要:Global是一个固有对象(全局),不属于任何对象,目的是把所有全局方法集中在一个对象中。这里挑几个常用的global方法1、URI编码解码方法编码(encodeURI/encodeURIComponent)var uri = "http://www.wrox.com/illegal value.htm#start";//"http://www.wrox.com/illegal%20value.htm#start"alert(encodeURI(uri));//"http%3A%2F%2Fwww.wrox.com%2Fillegal%20val
阅读全文
摘要:由于String的方法过多,这里只列举一下常用的但又不是很熟的1、replace()var text = "cat, bat, sat, fat"; var result = text.replace("at", "ond");alert(result); //"cond, bat, sat, fat" 替换第一个result = text.replace(/at/g, "ond");alert(result); //"cond, bond, sond, fond" //替换
阅读全文
摘要:定义方法//方法1:推荐function sum(value1,value2){}//方法2:不推荐//原因:如果有调用此方法的代码在这个定义之前就会调用不到(未读取到内存)这个函数而报错,这跟javascript的读取引擎有关var sum = function(value1,value2){}//方法3:不推荐,在Safari中会导致错误var sum = function sum(value1,value2){}//方法4:不推荐var sum = new Function("num1","num2","rturn num1+num2&q
阅读全文
摘要:声明方法:var expression = /pattern/flags;//var expression = new RegExp("pattern","flags");//pattern:正则表达式串//flags有3种可混合选择://1、g:全局模式,该模式应用与所有字符串,而非在发现第一个匹配项就停止//2、i:不区分大小写//3、m:多行模式,在达到一行文本末尾时还会继续查找下一行文本 常用方法:1、exec方法var text = "mom and dad and baby"; var pattern = /mom( an
阅读全文
摘要:Array类型 声明方式://在使用new Array声明数组时可以省略new关键字//方法1:var colors = new Array();colors.push("red");//方法2:var colors = new Array(1);colors.push("red");//方法3:var colors = ["red"];//方法4:var colors = new Array("red");常用的方法:1、检测对象是否是数组//方法1://如果网页包含...
阅读全文
摘要:Object类型 声明方式//方法1、var person = new Object();person.name="jack";//person["name"]="jack";//方法2、var person = { name:"jack"; };//方法3、var person = {};person.name="jack";//person["name"]="jack";访问对象的属性值的方法//方法1:var name = person["
阅读全文
摘要:基础数据类型保存在栈内存中,可以使用typeof来检测变量具体是什么基本类型。例:var str = "hello";alert(typeof str);//string引用(对象)类型的数据是保存在堆内存中,可以使用instanceof来识别对象具体是什么类型。对象变量保存的是指向堆内存的一个指针,从一个变量赋值给另外一个变量只是复制了指针。例:var arr = new Array();alert(arr instanceof Array);//true
阅读全文