天天看点

Web中常用的Javascript技巧(1)

< doctype html public -wcdtd xhtml stricten httpwwwworgtrxhtmldtdxhtml-strictdtd> 事件源对象 

event.srcelement.tagname 

event.srcelement.type 

捕获释放 

event.srcelement.setcapture();  

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.execcommand 

窗体cookie 

document.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.窗体.elements[索引]

对象绑定事件 

插件数目

navigator.plugins 

取变量类型

typeof($js_libpath) == "undefined" 

下拉框

下拉框.options[索引] 

下拉框.options.length 

查找对象 

document.getelementsbyname("r1"); 

document.getelementbyidx(id); 

定时 

uncode编码 

escape() ,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"

自动刷新 

<meta http-equiv="***" content="8;url=http://c98.yeah.net">

简单邮件

<a href="mailto:[email protected]?subject=ccc&body=xxxyyy"> 

快速转到位置 

obj.scrollintoview(true)

<a name="first"> 

<a href="#first">anchors</a> 

网页传递参数

location.search();

可编辑

obj.contenteditable=true 

执行菜单命令

obj.execcommand 

双字节字符 

/[^\x00-\xff]/ 

汉字 

/[\u4e00-\u9fa5]/ 

让英文字符串超出表格宽度自动换行

word-wrap: break-word; word-break: break-all; 

透明背景

<iframe src="http://www.blog.com.cn/1.htm" width=300 height=180 allowtransparency></iframe> 

获得style内容

obj.style.csstext 

html标签

document.documentelement.innerhtml 

第一个style标签

document.stylesheets[0] 

style标签里的第一个样式

document.stylesheets[0].rules[0] 

防止点击空链接时,页面往往重置到页首端。

<a href="javascript:function()">word</a> 

上一网页源

asp: 

request.servervariables("http_referer") 

javascript: 

document.referrer 

释放内存

collectgarbage();

禁止右键 

document.oncontextmenu = function() { return false;} 

禁止保存 

<noscript><iframe src="http://www.blog.com.cn/*.htm"></iframe></noscript>

禁止选取

<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()> 

禁止粘贴

<input type=text onpaste="return false"> 

地址栏图标 

<link rel="shortcut icon" href="favicon.ico">

favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下 

收藏栏图标 

<link rel="bookmark" href="favicon.ico"> 

查看源码

关闭输入法

<input style="ime-mode:disabled"> 

自动全选

<input type=text name=text1 value="http://www.blog.com.cn/123" onfocus="this.select()"> 

enter键可以让光标移到下一个输入框

<input onkeydown="if(event.keycode==13)event.keycode=9">

文本框的默认值

<input type=text value="http://www.blog.com.cn/123" onfocus="alert(this.defaultvalue)"> 

title换行

obj.title = "123&#13sdfs&#32" 

获得时间所代表的微秒 

var n1 = new date("2004-10-10".replace(/-/g, "\/")).gettime() 

窗口是否关闭 

win.closed 

checkbox扁平

<input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"> 

获取选中内容 

document.selection.createrange().duplicate().text

自动完成功能

<input  type=text  autocomplete=on>打开该功能  

<input  type=text  autocomplete=off>关闭该功能 

窗口最大化 

<body onload="window.resizeto(window.screen.width - 4,window.screen.height-50);window.moveto(-4,-4)"> 

无关闭按钮ie

window.open("aa.htm", "meizz", "fullscreen=7"); 

统一编码/解码

alert(decodeuricomponent(encodeuricomponent("http://你好.com?as= hehe"))) 

encodeuricomponent对":"、"/"、";" 和 "?"也编码 

表格行指示

//各种尺寸 

s  +=  "\r\n网页可见区域宽:"+  document.body.clientwidth;   

s  +=  "\r\n网页可见区域高:"+  document.body.clientheight;   

s  +=  "\r\n网页可见区域高:"+  document.body.offsetweight  +"  (包括边线的宽)";   

s  +=  "\r\n网页可见区域高:"+  document.body.offsetheight  +"  (包括边线的宽)";   

s  +=  "\r\n网页正文全文宽:"+  document.body.scrollwidth;   

s  +=  "\r\n网页正文全文高:"+  document.body.scrollheight;   

s  +=  "\r\n网页被卷去的高:"+  document.body.scrolltop;   

s  +=  "\r\n网页被卷去的左:"+  document.body.scrollleft;   

s  +=  "\r\n网页正文部分上:"+  window.screentop;   

s  +=  "\r\n网页正文部分左:"+  window.screenleft;   

s  +=  "\r\n屏幕分辨率的高:"+  window.screen.height;   

s  +=  "\r\n屏幕分辨率的宽:"+  window.screen.width;   

s  +=  "\r\n屏幕可用工作区高度:"+  window.screen.availheight;   

s  +=  "\r\n屏幕可用工作区宽度:"+  window.screen.availwidth; 

//不缓存 

<meta http-equiv="pragma" content="no-cache"> 

<meta http-equiv="cache-control" content="no-cache, must-revalidate"> 

<meta http-equiv="expires" content="0"> 

//正则匹配 

匹配中文字符的正则表达式: [\u4e00-\u9fa5] 

匹配双字节字符(包括汉字在内):[^\x00-\xff] 

匹配空行的正则表达式:\n[\s| ]*\r 

匹配html标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/  

匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数) 

匹配email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 

匹配网址url的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)? 

以下是例子:  #javascript/ajax专栏