javascript常用技巧

1.oncontextmenu="window.event.returnValue=false"将彻底屏蔽鼠标右键

<tableborderoncontextmenu=return(false)><td>no</table>可用于Table

2.<bodyonselectstart="returnfalse">取消选取、防止复制

3.onpaste="returnfalse"不准粘贴

4.oncopy="returnfalse;"oncut="returnfalse;"防止复制

5.<linkrel="ShortcutIcon"href="favicon.ico">IE地址栏前换成自己的图标

6.<linkrel="Bookmark"href="favicon.ico">可以在收藏夹中显示出你的图标

7.<inputstyle="ime-mode:disabled">关闭输入法

8.永远都会带着框架

<scriptlanguage="JavaScript"><!--

if(window==top)top.location.href="frames.htm";//frames.htm为框架网页

//--></script>

9.防止被人frame

<SCRIPTLANGUAGE=JAVASCRIPT><!--

if(top.location!=self.location)top.location=self.location;

//--></SCRIPT>

10.网页将不能被另存为

<noscript><iframesrc=*.html></iframe></noscript>

11.<inputtype=buttonvalue=查看网页源代码

onclick="window.location="view-source:"+"http://www.pconline.com.cn"">

12.删除时确认

<ahref="javascript:if(confirm("确实要删除吗?"))location="boos.asp?&areyou=删除

&page=1"">删除</a>

13.取得控件的绝对位置

//Javascript

<scriptlanguage="Javascript">

functiongetIE(e){

vart=e.offsetTop;

varl=e.offsetLeft;

while(e=e.offsetParent){

t+=e.offsetTop;

l+=e.offsetLeft;

}

alert("top="+t+"/nleft="+l);

}

</script>

//VBScript

<scriptlanguage="VBScript"><!--

functiongetIE()

dimt,l,a,b

seta=document.all.img1

t=document.all.img1.offsetTop

l=document.all.img1.offsetLeft

whilea.tagName<>"BODY"

seta=a.offsetParent

t=t+a.offsetTop

l=l+a.offsetLeft

wend

msgbox"top="&t&chr(13)&"left="&l,64,"得到控件的位置"

endfunction

--></script>

14.光标是停在文本框文字的最后

<scriptlanguage="javascript">

functioncc()

{

vare=event.srcElement;

varr=e.createTextRange();

r.moveStart("character",e.value.length);

r.collapse(true);

r.select();

}

</script>

<inputtype=textname=text1value="123"onfocus="cc()">

15.判断上一页的来源

javascript:

document.referrer

16.最小化、最大化、关闭窗口

<objectid=hh1classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">

<paramname="Command"value="Minimize"></object>

<objectid=hh2classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">

<paramname="Command"value="Maximize"></object>

<OBJECTid=hh3classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11">

<PARAMname="Command"VALUE="Close"></OBJECT>

<inputtype=buttonvalue=最小化onclick=hh1.Click()>

<inputtype=buttonvalue=最大化onclick=hh2.Click()>

<inputtype=buttonvalue=关闭onclick=hh3.Click()>

本例适用于IE

17.屏蔽功能键Shift,Alt,Ctrl

<script>

functionlook(){

if(event.shiftKey)

alert("禁止按Shift键!");//可以换成ALTCTRL

}

document.onkeydown=look;

</script>

18.网页不会被缓存

<METAHTTP-EQUIV="pragma"CONTENT="no-cache">

<METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache,must-revalidate">

<METAHTTP-EQUIV="expires"CONTENT="Wed,26Feb199708:21:57GMT">

或者<METAHTTP-EQUIV="expires"CONTENT="0">

19.怎样让表单没有凹凸感?

<inputtype=textstyle="border:1solid#000000">

<inputtype=textstyle="border-left:none;border-right:none;border-top:none;border-bottom:

1solid#000000"></textarea>

20.<div><span>&<layer>的区别?

<div>(division)用来定义大段的页面元素,会产生转行

<span>用来定义同一行内的元素,跟<div>的唯一区别是不产生转行

<layer>是ns的标记,ie不支持,相当于<div>

21.让弹出窗口总是在最上面:

<bodyonblur="this.focus();">

22.不要滚动条?

让竖条没有:

<bodystyle="overflow:scroll;overflow-y:hidden">

</body>

让横条没有:

<bodystyle="overflow:scroll;overflow-x:hidden">

</body>

两个都去掉?更简单了

<bodyscroll="no">

</body>

23.怎样去掉图片链接点击后,图片周围的虚线?

<ahref="#"onFocus="this.blur()"><imgsrc="logo.jpg"border=0></a>

24.电子邮件处理提交表单

<formname="form1"method="post"action="mailto:****@***.com"enctype="text/plain">

<inputtype=submit>

</form>

25.在打开的子窗口刷新父窗口的代码里如何写?

window.opener.location.reload()

26.如何设定打开页面的大小

<bodyonload="top.resizeTo(300,200);">

打开页面的位置<bodyonload="top.moveBy(300,200);">

27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动

<STYLE>

body

{background-image:url(logo.gif);background-repeat:no-repeat;

background-position:center;background-attachment:fixed}

</STYLE>

28.检查一段字符串是否全由数字组成

<scriptlanguage="Javascript"><!--

functioncheckNum(str){returnstr.match(//D/)==null}

alert(checkNum("1232142141"))

alert(checkNum("123214214a1"))

//--></script>

29.获得一个窗口的大小

document.body.clientWidth;document.body.clientHeight

30.怎么判断是否是字符

if(/[^/x00-/xff]/g.test(s))alert("含有汉字");

elsealert("全是字符");

31.TEXTAREA自适应文字行数的多少

<textarearows=1name=s1cols=27onpropertychange="this.style.posHeight=this.scrollHeight">

</textarea>

32.日期减去天数等于第二个日期

<scriptlanguage=Javascript>

functioncc(dd,dadd)

{

//可以加上错误处理

vara=newDate(dd)

a=a.valueOf()

a=a-dadd*24*60*60*1000

a=newDate(a)

alert(a.getFullYear()+"年"+(a.getMonth()+1)+"月"+a.getDate()+"日")

}

cc("12/23/2002",2)

</script>

33.选择了哪一个Radio

<HTML><scriptlanguage="vbscript">

functioncheckme()

foreachobinradio1

ifob.checkedthenwindow.alertob.value

next

endfunction

</script><BODY>

<INPUTname="radio1"type="radio"value="style"checked>Style

<INPUTname="radio1"type="radio"value="barcode">Barcode

<INPUTtype="button"value="check"onclick="checkme()">

</BODY></HTML>

34.脚本永不出错

<SCRIPTLANGUAGE="JavaScript">

<!--Hide

functionkillErrors(){

returntrue;

}

window.onerror=killErrors;

//-->

</SCRIPT>

35.ENTER键可以让光标移到下一个输入框

<inputonkeydown="if(event.keyCode==13)event.keyCode=9">

36.检测某个网站的链接速度:

把如下代码加入<body>区域中:

<scriptlanguage=Javascript>

tim=1

setInterval("tim++",100)

b=1

varautourl=newArray()

autourl[1]="www.njcatv.net"

autourl[2]="javacool.3322.net"

autourl[3]="www.sina.com.cn"

autourl[4]="www.nuaa.edu.cn"

autourl[5]="www.cctv.com"

functionbutt(){

document.write("<formname=autof>")

for(vari=1;i<autourl.length;i++)

document.write("<inputtype=textname=txt"+i+"size=10value=测试中……>=》<input

type=text

name=url"+i+"size=40>=》<inputtype=buttonvalue=GO

onclick=window.open(this.form.url"+i+".value)>

")

document.write("<inputtype=submitvalue=刷新></form>")

}

butt()

functionauto(url){

document.forms[0]["url"+b].value=url

if(tim>200)

{document.forms[0]["txt"+b].value="链接超时"}

else

{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}

b++

}

functionrun(){for(vari=1;i<autourl.length;i++)document.write("<img

src=http://"+autourl+"/"+Math.random()+"

width=1height=1

onerror=auto("http://"+autourl+"")>")}

run()</script>

37.各种样式的光标

auto:标准光标

default:标准箭头

hand:手形光标

wait:等待光标

text:I形光标

vertical-text:水平I形光标

no-drop:不可拖动光标

not-allowed:无效光标

help:?帮助光标

all-scroll:三角方向标

move:移动标

crosshair:十字标

e-resize

n-resize

nw-resize

w-resize

s-resize

se-resize

sw-resize

38.页面进入和退出的特效

进入页面<metahttp-equiv="Page-Enter"content="revealTrans(duration=x,transition=y)">

推出页面<metahttp-equiv="Page-Exit"content="revealTrans(duration=x,transition=y)">

这个是页面被载入和调出时的一些特效。duration表示特效的持续时间,以秒为单位。

transition表示使用哪种特效,取值为

1-23:

0矩形缩小

1矩形扩大

2圆形缩小

3圆形扩大

4下到上刷新

5上到下刷新

6左到右刷新

7右到左刷新

8竖百叶窗

9横百叶窗

10错位横百叶窗

11错位竖百叶窗

12点扩散

13左右到中间刷新

14中间到左右刷新

15中间到上下

16上下到中间

17右下到左上

18右上到左下

19左上到右下

20左下到右上

21横条

22竖条

23以上22种随机选择一种

39.在规定时间内跳转

<METAhttp-equiv=V="REFRESH"content="5;URL=http://www.51js.com">

40.网页是否被检索

<metaname="ROBOTS"content="属性值">

其中属性值有以下一些:

属性值为"all":文件将被检索,且页上链接可被查询;

属性值为"none":文件不被检索,而且不查询页上的链接;

属性值为"index":文件将被检索;

属性值为"follow":查询页上的链接;

属性值为"noindex":文件不检索,但可被查询链接;

属性值为"nofollow":文件不被检索,但可查询页上的链接。

41.回车

用客户端脚本在页面添加document的onkeydown事件,让页面在接受到回车事件后,进行Tab

键的功能,即只要把event的keyCode由13变为9

Javascript代码如下:

<scriptlanguage="javascript"for="document"event="onkeydown">

<!--

if(event.keyCode==13)

event.keyCode=9;

-->

</script>

这样的处理方式,可以实现焦点往下移动,但对于按钮也起同样的作用,一般的客户在输入完

资料以后,跳到按钮后,最好能直接按"回车"进行数据的提交.因此,对上面的方法要进行一下

修改,应该对于"提交"按钮不进行焦点转移.而直接激活提交.

因此我对上面的代码进行了一个修改,即判断事件的"源",是否为提交按钮,代码如下:

<scriptlanguage="javascript"for="document"event="onkeydown">

<!--

if(event.keyCode==13&&event.srcElement.type!='button'&&

event.srcElement.type!='submit'&&event.srcElement.type!='reset'&&

event.srcElement.type!='textarea'&&event.srcElement.type!='')

event.keyCode=9;

-->

</script>

判断是否为button,是因为在HTML上会有type="button"

判断是否为submit,是因为HTML上会有type="submit"

判断是否为reset,是因为HTML上的"重置"应该要被执行

判断是否为空,是因为对于HTML上的"<a>链接"也应该被执行,这种情况发生的情况不多,可

以使用"tabindex=-1"的方式来取消链接获得焦点.

相关推荐