JS常用代码大全
|
admin
2010年8月14日 1:15
本文热度 3738
|
# 事件源对象
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[索引]
# 对象绑定事件
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() ,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"
# 自动刷新
# 简单邮件
<a href="mailto:aaa@bbb.com?subject=ccc&body=xxxyyy">
# 快速转到位置
obj.scrollIntoView(true)
# 锚
</a><a name="first">
</a><a href="#first">anchors</a>
# 网页传递参数
location.search();
# 可编辑
obj.contenteditable=true
# 执行菜单命令
obj.execCommand
# 双字节字符
/[^\x00-\xff]/
汉字
/[\u4e00-\u9fa5]/
# 让英文字符串超出表格宽度自动换行
word-wrap: break-word; word-break: break-all;
# 透明背景
# 获得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="*.htm"></iframe></noscript>
# 禁止选取
# 地址栏图标
favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下
# 收藏栏图标
# 查看源码
<input onclick="window.location = ‘view-source:’+ ‘http://www.csdn.net/’" type="button" value="查看网页源代码" />
# 关闭输入法
<input style="ime-mode: disabled;" />
# 自动全选
<input name="text1" type="text" value="123" />
# ENTER键可以让光标移到下一个输入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9" />
# 文本框的默认值
<input type="text" value="123" />
# title换行
obj.title = "123 sdfs "
# 获得时间所代表的微秒
var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()
# 窗口是否关闭
win.closed
# checkbox扁平
<input style="position: absolute; clip: rect(5px 15px 15px 5px);" type="checkbox" />
# 获取选中内容
document.selection.createRange().duplicate().text
# 自动完成功能
<input type="text" />打开该功能
<input type="text" />关闭该功能
# 窗口最大化
# 无关闭按钮IE
window.open("aa.htm", "meizz", "fullscreen=7");
# 统一编码/解码
alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe")))
encodeURIComponent对":"、"/"、";" 和 "?"也编码
//浏览器验证
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
function checkBrowser()
{
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
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 || this.ns5)
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns5 || this.ns4 || this.mac || this.ope)
this.nbw=(!this.bw)
return this;
} |
计算内容高度和宽度
1
2
3
4
5
6
7
8
9
10
11
12
|
<SCRIPT language="javascript">
function test(obj)
{
var range = obj.createTextRange();
alert("内容区宽度: " + range.boundingWidth
+ "px\r\n内容区高度: " + range.boundingHeight + "px");
}
</SCRIPT>
<BODY>
<Textarea id="txt" height="150">sdf</textarea><INPUT type="button" value="计算内容宽度" onClick="test(txt)">
</BODY> |
移动层代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
1.<span style='position:absolute;width:200;height:200;background:red' onmousedown=MouseDown(this) onmousemove=MouseMove() onmouseup=MouseUp()>meizz</span>
<script language=javascript>
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();
Obj=null;
}
}
</script>
2.
<div id="myDiv" src="logo.gif" ondrag="doDrag();" onmouseover="this.style.cursor='hand'" style="position:absolute;left=100;top=100;" onmousedown="doMouseDown();">
<a href="#" onclick="return false"><h1>wlecome</h1></a>
</div>
<script language="JavaScript" type="text/javascript">
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.clientX;
orgMouseY=event.clientY;
orgObjX=parseInt(document.all.myDiv.style.left);
orgObjY=parseInt(document.all.myDiv.style.top);
}
</script> |
刷新后不变的文本框
1
2
3
4
5
6
7
8
9
10
11
|
<HTML>
<HEAD>
<META NAME="save" CONTENT="history">
<STYLE>
.sHistory {behavior:url(#default#savehistory);}
</STYLE>
</HEAD>
<BODY>
<INPUT class=sHistory type=text id=oPersistInput>
</BODY>
</HTML> |
//操作COOKIE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
function SetCookie(sName, sValue)
{
document.cookie = sName + "=" + escape(sValue) + "; ";
}
function GetCookie(sName)
{
var aCookie = document.cookie.split("; ");
for (var i=0; i < aCookie.length; i++)
{
var aCrumb = aCookie[i].split("=");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}
}
function DelCookie(sName)
{
document.cookie = sName + "=" + escape(sValue) + "; expires=Fri, 31 Dec 1999 23:59:59 GMT;";
} |
//正则匹配
1
2
3
4
5
6
7
8
9
10
11
12
13
|
匹配中文字符的正则表达式: [\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- ./?%&=]*)?
以下是例子:
利用正则表达式限制网页表单里的文本框输入内容:
用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用正则表达式限制只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用正则表达式限制只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用正则表达式限制只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))" |
该文章在 2010/8/14 1:15:40 编辑过