1、javascript 小技巧 3事件源对象 3捕获释放 3事件按键 3事件返回值 3鼠标位置 3窗体活动元素 3绑定事件 3访问窗体元素 3窗体命令 3窗体 COOKIE3菜单事件 3创建元素 4根据鼠标获得元素:4窗体图片 4窗体事件绑定 4元素 4对象绑定事件 4插件数目 4取变量类型 4下拉框 4查找对象 4定时 4UNCODE 编码 4父对象 4交换表的行 5简单邮件 5禁止选取 6/过滤数字 8/特殊用途 9/不缓存 9/正则匹配 9/消除图像工具栏 10/无提示关闭 10/取得控件得绝对位置(1) 11/获得控件的绝对位置(2) 12/最小化,最大化,关闭 12/光标停在文字最后
2、12/页面进入和退出的特效 12/网页是否被检索 13/打印分页 14/设置打印 14/自带的打印预览 15/去掉打印时的页眉页脚 16/浏览器验证 17/计算内容宽和高 17/无模式的提 示框 18/屏蔽按键 18/屏蔽打印 20/移动的图层,拖动 20/文档状态改变 22/刷新后不变的文本框 22/访问剪贴板 22/操作 COOKIE23/setTimeout 增加参数 23/自定义的 apply,call24/下载文件 24/检验连接是否有效 25/POST 代替 FORM26/组件是否安装 28/检查网页是否存在 28/连接数据库 28/使用数据岛 29/获得参数 30/可编辑 SEL
3、ECT30/设置光标位置 31/页内查找 32/书 33/自定义提示条 34/插入文字 36/netscapte 下操作 xml37/判断键值 37/禁止 FSO38/省略号 38/检测 media play 版本 38/图象按比例 39/细线 SELECT40/Import40/js 枚举 41/条件编译 41/取得 innerText42/mergeAttributes 复制所有读/写标签属性到指定元素。42javascript 小技巧事件源对象 event.srcElement.tagName event.srcElement.type捕获释放 event.srcElement.setC
4、apture(); event.srcElement.releaseCapture();事件按键 event.keyCode event.shiftKey event.altKey event.ctrlKey事件返回值 event.returnValue鼠标位置 event.x event.y窗体活动元素 document.activeElement绑定事件 document.captureEvents(Event.KEYDOWN);访问窗体元素 document.all(“txt“).focus(); document.all(“txt“).select();窗体命令 document.ex
5、ecCommand窗体 COOKIEdocument.cookie菜单事件 document.oncontextmenu创建元素 document.createElement(“SPAN“);根据鼠标获得元素:document.elementFromPoint(event.x,event.y).tagName=“TD document.elementFromPoint(event.x,event.y).appendChild(ms)窗体图片 document.images索引窗体事件绑定 document.onmousedown=scrollwindow;元素 document.窗体 .ele
6、ments索引对象绑定事件 document.all.xxx.detachEvent(onclick,a);插件数目 navigator.plugins取变量类型 typeof($js_libpath) = “undefined“下拉框下拉框.options 索引 下拉框.options.length查找对象 document.getElementsByName(“r1“); document.getElementById(id);定时 timer=setInterval(scrollwindow(),delay); clearInterval(timer);UNCODE 编码 escape(
7、) ,unescape父对象 obj.parentElement(dhtml) obj.parentNode(dom)交换表的行 TableID.moveRow(2,1)替换 CSS document.all.csss.href = “a.css“;并排显示 display:inline隐藏焦点 hidefocus=true根据宽度换行 style=“word-break:break-all“自动刷新 简单邮件快速转到位置 obj.scrollIntoView(true)锚 anchors网页传递参数 location.search();可编辑 obj.contenteditable=true
8、执行菜单命令 obj.execCommand双字节字符 /x00-xff/ 汉字 /u4e00-u9fa5/让英文字符串超出表格宽度自动换行 word-wrap: break-word; word-break: break-all;透明背景 获得 style 内容 obj.style.cssTextHTML 标签 document.documentElement.innerHTML第一个 style 标签 document.styleSheets0style 标签里的第一个样式 document.styleSheets0.rules0防止点击空链接时,页面往往重置到页首端。 word上一网页源
9、 asp: request.servervariables(“HTTP_REFERER“) javascript: document.referrer释放内存 CollectGarbage();禁止右键 document.oncontextmenu = function() return false;禁止保存 禁止选取禁止粘贴 地址栏图标 favicon.ico 名字最好不变 16*16 的 16 色, 放虚拟目录根目录下收藏栏图标 查看源码 关闭输入法 自动全选 ENTER 键可以让光标移到下一个输入框 文本框的默认值 title 换行 obj.title = “123统一编码/解码 ale
10、rt(decodeURIComponent(encodeURIComponent(“http:/你好.com?as= hehe“) encodeURIComponent 对“:“、“/“、“;“ 和 “?“也编码表格行指示 /各种尺寸s += “rn 网页可见区域宽:“+ document.body.clientWidth; s += “rn 网页可见区域高:“+ document.body.clientHeight; s += “rn 网页可见区域高:“+ document.body.offsetWeight +“ (包括边线的宽)“; s += “rn 网页可见区域高:“+ documen
11、t.body.offsetHeight +“ (包括边线的宽)“; s += “rn 网页正文全文宽:“+ document.body.scrollWidth; s += “rn 网页正文全文高:“+ document.body.scrollHeight; s += “rn 网页被卷去的高:“+ document.body.scrollTop; s += “rn 网页被卷去的左:“+ document.body.scrollLeft; s += “rn 网页正文部分上:“+ window.screenTop; s += “rn 网页正文部分左:“+ window.screenLeft; s +
12、= “rn 屏幕分辨率的高:“+ window.screen.height; s += “rn 屏幕分辨率的宽:“+ window.screen.width; s += “rn 屏幕可用工作区高度:“+ window.screen.availHeight; s += “rn 屏幕可用工作区宽度:“+ window.screen.availWidth;/过滤数字=48“,ua.indexOf(“MSIE “) if(IEversion str += ; document.body.insertAdjacentHTML(“beforeEnd“, str); document.all.noTipCl
13、ose.Click(); else window.opener =null; window.close(); else window.close() /取得控件得绝对位置(1)function getoffset(e) var t=e.offsetTop; var l=e.offsetLeft; while(e=e.offsetParent) t+=e.offsetTop; l+=e.offsetLeft; var rec = new Array(1); rec0 = t; rec1 = l; return rec /获得控件的绝对位置(2)oRect = obj.getBoundingCli
14、entRect(); oRect.left oRect. /最小化,最大化,关闭/光标停在文字最后function cc() var e = event.srcElement; var r =e.createTextRange(); r.moveStart(character,e.value.length); r.collapse(true); r.select(); /页面进入和退出的特效进入页面 推出页面 这个是页面被载入和调出时的一些特效。duration 表示特效的持续时间,以秒为单位。transition表示使 用哪种特效,取值为 1-23: 0 矩形缩小 1 矩形扩大 2 圆形缩小
15、 3 圆形扩大 4 下到上刷新 5 上到下刷新 6 左到右刷新 7 右到左刷新 8 竖百叶窗 9 横百叶窗 10 错位横百叶窗 11 错位竖百叶窗 12 点扩散 13 左右到中间刷新 14 中间到左右刷新 15 中间到上下 16 上下到中间 17 右下到左上 18 右上到左下 19 左上到右下 20 左下到右上 21 横条 22 竖条 23 /网页是否被检索其中属性值有以下一些: 属性值为“all“: 文件将被检索,且页上链接可被查询; 属性值为“none“: 文件不被检索,而且不查询页上的链接; 属性值为“index“: 文件将被检索; 属性值为“follow“ : 查询页上的链接; 属性值
16、为“noindex“: 文件不检索,但可被查询链接; 属性值为“nofollow“ : /打印分页page1 page2 /设置打印function window.onload() / - advanced features factory.printing.SetMarginMeasure(2) / measure margins in inches factory.printing.SetPageRange(false, 1, 3) / need pages from 1 to 3 factory.printing.printer = “HP DeskJet 870C“ factory.p
17、rinting.copies = 2 factory.printing.collate = true factory.printing.paperSize = “A4“ factory.printing.paperSource = “Manual feed“ / - basic features factory.printing.header = “居左显示 .PageNextpage-break-after: always; /去掉打印时的页眉页脚var HKEY_Root,HKEY_Path,HKEY_Key; HKEY_Root=“HKEY_CURRENT_USER“; HKEY_Pat
18、h=“SoftwareMicrosoftInternet ExplorerPageSetup“; /设置网页打印的页眉页脚为空 function PageSetup_Null() try var Wsh=new ActiveXObject(“WScript.Shell“); HKEY_Key=“header“; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,“); HKEY_Key=“footer“; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,“); catch(e) /设置网页打印的页眉页脚为默认值 functi
19、on PageSetup_Default() try var Wsh=new ActiveXObject(“WScript.Shell“); HKEY_Key=“header“; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,“ HKEY_Key=“footer“; Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,“ catch(e) /浏览器验证function checkBrowser() this.ver=navigator.appVersion this.dom=document.getElementById?1
20、:0 this.ie6=(this.ver.indexOf(“MSIE 6“)-1 this.ie5=(this.ver.indexOf(“MSIE 5“)-1 this.ie4=(document.all this.ns5=(this.dom this.ns4=(document.layers this.mac=(this.ver.indexOf(Mac) -1) ?1:0; this.ope=(navigator.userAgent.indexOf(Opera)-1); this.ie=(this.ie6 | this.ie5 | this.ie4) this.ns=(this.ns4 |
21、 this.ns5) this.bw=(this.ie6 | this.ie5 | this.ie4 | this.ns5 | this.ns4 | this.mac | this.ope) this.nbw=(!this.bw) return this; /计算内容宽和高function test(obj) var range = obj.createTextRange(); alert(“内容区宽度: “ + range.boundingWidth + “pxrn 内容区高度:“ + range.boundingHeight + “px“); sdf /无模式的提示框function mo
22、delessAlert(Msg) window.showModelessDialog(“javascript:alert(“+escape(Msg)+“);window.close();“,“,“status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;“); /屏蔽按键屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5 刷新、退格键 屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5 刷新、退格键 /屏蔽打印 media print * display:n
23、one /移动的图层,拖动1.meizz var Obj; function MouseDown(obj) Obj=obj; Obj.setCapture(); Obj.l=event.x-Obj.style.pixelLeft; Obj.t=event.y-Obj.style.pixelTop; function MouseMove() if(Obj!=null) Obj.style.left = event.x-Obj.l; Obj.style.top = event.y-Obj.t; function MouseUp() if(Obj!=null) Obj.releaseCapture(
24、); Obj=null; 2. wlecome var orgMouseX; var orgMouseY; var orgObjX; var orgObjY; function doDrag() var myObject=document.all.myDiv; var x=event.clientX; var y=event.clientY; myObject.style.left=x-(orgMouseX-orgObjX); myObject.style.top=y-(orgMouseY-orgObjY); function doMouseDown() orgMouseX=event.cli
25、entX; orgMouseY=event.clientY; orgObjX=parseInt(document.all.myDiv.style.left); orgObjY=parseInt(document.all.myDiv.style.top); /文档状态改变var doc=window.frames“f“.document; function s() if (doc.readyState=“complete“) document.all.f.style.height=doc.body.scrollHeight document.all.f.style.width=doc.body.
26、scrollWidth doc.onreadystatechange=s /刷新后不变的文本框.sHistory behavior:url(#default#savehistory); /访问剪贴板(1)拖拽访问 event.dataTransfer.setData(“URL“, oImage.src); sImageURL = event.dataTransfer.getData(“URL“) (2)普通访问 window.clipboardData.setData(“Text“,oSource.innerText); window.clipboardData.getData(“Text“)
27、; /操作 COOKIEfunction SetCookie(sName, sValue) document.cookie = sName + “=“ + escape(sValue) + “; “; function GetCookie(sName) var aCookie = document.cookie.split(“; “); for (var i=0; i var _st = window.setTimeout; window.setTimeout = function(fRef, mDelay) if(typeof fRef = function) var argu = Arra
28、y.prototype.slice.call(arguments,2); var f = (function() fRef.apply(null, argu); ); return _st(f, mDelay); return _st(fRef,mDelay); function test(x) alert(x); window.setTimeout(test,1000,fason); /自定义的 apply,callFunction.prototype.apply = function (obj, argu) if (obj) obj.constructor.prototype._calle
29、r = this; var argus = new Array(); for (var i=0;i Function URLEncoding(vstrIn) strReturn = “ For i = 1 To Len(vstrIn) ThisChr = Mid(vStrIn,i,1) If Abs(Asc(ThisChr) /readyState 是 xmlhttp 返回数据的进度,0=载入中,1=未初始化,2= 已载入,3=运行中,4=完成/组件是否安装 isComponentInstalled(“6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739“, “compon
30、entID“) /检查网页是否存在function CheckURL(URL) var xmlhttp = new ActiveXObject(“Microsoft.XMLHTTP“); xmlhttp.Open(“GET“,URL, false); try xmlhttp.Send(); var result = xmlhttp.status; catch(e) return(false); if(result=200) return true; xmlhttp = null; return false; /连接数据库/用 JavaScript 写服务器端连接数据库的代码示例 var con
31、n = new ActiveXObject(“ADODB.Connection“); conn.Open(“Provider=SQLOLEDB.1; Data Source=localhost; User ID=sa; “ +“Password=; Initial Catalog=pubs“); var rs = new ActiveXObject(“ADODB.Recordset“); var sql=“select * from authors“; rs.open(sql, conn); shtml = “; shtml +=“au_idau_lnameau_fnamephoneaddre
32、ss citystatezip“; while(!rs.EOF) shtml += “ + rs(“au_id“) + “ + rs(“au_lname“) + “ + rs(“au_fname“) + “ + rs(“phone“) + “ + rs(“address“) + “ + rs(“city“) + “ + rs(“state“) + “ + rs(“zip“) + “; rs.moveNext; shtml += “; document.write(shtml); rs.close(); rs = null; conn.close(); conn = null; /使用数据岛sr
33、no: times: “ onclick=“xmldate.recordset.moveNext()“ “ onclick=“xmldate.recordset.moveLast()“ 20041025-01null 20041101-092004 年 10 月 1 日 2 点 22 分 0 秒/获得参数search 0) var re = /( for(var i= 0;i /可编辑 SELECT11111111 222222 333333 /设置光标位置function getCaret(textbox) var control = document.activeElement; text
34、box.focus(); var rang = document.selection.createRange(); rang.setEndPoint(“StartToStart“,textbox.createTextRange() control.focus(); return rang.text.length; function setCaret(textbox,pos) try var r =textbox.createTextRange(); r.moveStart(character,pos); r.collapse(true); r.select(); catch(e) function selectLength(textbox,start,len) try var r =textbox.createTextRange(); r.moveEnd(character,len-(textbox.value.length-start); r.moveStart(character,start);