JS事件總結

事件源對象

event.srcElement.tagName

event.srcElement.type

捕獲釋放

event.srcElement.setCapture();

event.srcElement.releaseCapture();

事件按鍵

event.keyCode

event.shiftKey

event.altKey

event.ctrlKey

事件返回值

event.returnVal?

鼠標位置

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=tr?

根據寬度換行

style="word-break:break-all"

自動刷新

簡單郵件

快速轉到位置

obj.scrollIntoView(tr?)

anchors

網頁傳遞參數

location.search();

可編輯

obj.contenteditable=tr?

執行菜單命令

obj.execCommand

雙字節字符

/[^\x00-\xff]/

漢字

/[\一-\龥]/

讓英文字符串超出表格寬度自動換行

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]

防止點擊空鏈接時,頁面往往重置到頁首端。

word

上一網頁源

asp:

req?st.servervariables("HTTP_REFERER")

javascript:

document.referrer

釋放內存

CollectGarbage();

禁止右鍵

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

禁止保存

<iframe src="*.htm"></iframe>

禁止選取

favicon.ico?名字最好不變16*16的16色,放虛擬目錄根目錄下

收藏欄圖標

查看源碼

關閉輸入法

自動全選

ENTER鍵可以讓光標移到下一個輸入框

文本框的默認值

title換行

obj.title?=?"123?sdfs?"

獲得時間所代表的微秒

var?n1?=?new?Date("2004-10-10".replace(/-/g,?"\/")).getTime()

窗口是否關閉

win.closed

checkbox扁平


獲取選中內容

document.selection.createRange().duplicate().text

自動完成功能

打開該功能

關閉該功能

窗口最大化

無關閉按鈕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;

//過濾數字

=48&&event.keyCode<=57||(this.val?.indexOf('.')<0?event.keyCode==46:false)"?onpaste="return?!clipboardData.getData('text').match(/\D/)"?ondragenter="return?false">

//特殊用途

//不緩存

//正則匹配

匹配中文字符的正則表達式:?[\一-\龥]

匹配雙字節字符(包括漢字在內):[^\x00-\xff]

匹配空行的正則表達式:\n[\s|?]*\r

匹配HTML標記的正則表達式:/<(.*)>.*<\/\1>|<(.*)?\/>/

匹配首尾空格的正則表達式:(^\s*)|(\s*$)(像vbscript那樣的trim函數)

匹配Email地址的正則表達式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配網址URL的正則表達式:http://([\w-]+\.)+[\w-]+(/[\w-?./?%&=]*)?

以下是例子:

利用正則表達式限制網頁表單里的文本框輸入內容:

用 正則表達式限制只能輸入中文:onkeyup="val?=val?.replace(/[^\一-\龥]/g,'')"? onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^一-\龥]/g,''))"

1.用正則表達式限制只能輸入全角字符:?onkeyup="val?=val ?.replace(/[^\?-\?]/g,'')"?onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\?-\?]/g,''))"

2.用正則表達式限制只能輸入數字:onkeyup="val?=val?.replace(/[^\d]/g,'')& nbsp;"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

3.用正則表達式限制只能輸入數字和英文:onkeyup="val?=val?.replace(/[\W]/g,'')& nbsp;"onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

//消除圖像工具欄

or

//無提示關閉

function?Close()

{

var? =navigator.userAgent

var?ie=navigator.appName=="Microsoft?Internet?Explorer"?tr?:false

if(ie)

{

var?IEversion=parseFloat( .s string( .indexOf("MSIE?")+5, .indexOf(";", .indexOf("MSIE?"))))

if(IEversion<?5.5)

{

var?str?=?''

document.body.insertAdjacentHTML("beforeEnd",?str);

document.all.noTipClose.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);

rec[0]?=?t;

rec[1]?=?l;

return?rec

}

//獲得控件的絕對位置(2)

oRect?=?obj.getBoundingClientRect();

oRect.left

oRect.

//最小化,最大化,關閉

//光標停在文字最后

function?cc()

{

var?e?=?event.srcElement;

var?r?=e.createTextRange();

r.moveStart('character',e.val?.length);

r.collapse(tr?);

r.select();

}

//頁面進入和退出的特效

進入頁面

推出頁面

這個是頁面被載入和調出時的一些特效。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

//網頁是否被檢索?

其中屬性值有以下一些:

屬性值為"all":?文件將被檢索,且頁上鏈接可被查詢;

屬性值為"none":?文件不被檢索,而且不查詢頁上的鏈接;

屬性值為"index":?文件將被檢索;

屬性值為"follow":?查詢頁上的鏈接;

屬性值為"noindex":?文件不檢索,但可被查詢鏈接;

屬性值為"nofollow":

//打印分頁?page1

page2

//設置打印

classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"

codebase="http://www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"

>

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.printing.copies?=?2

factory.printing.collate?=?tr?

factory.printing.paperSize?=?"A4"

factory.printing.paperSource?=?"Man l?feed"

//?--?basic?features

factory.printing.header?=?"居左顯示&b居中顯示&b居右顯示頁碼,第&p頁/共&P頁"

factory.printing.footer?=?"(自定義頁腳)"

factory.printing.portrait?=?false

factory.printing.leftMargin?=?0.75

factory.printing.topMargin?=?1.5

factory.printing.rightMargin?=?0.75

factory.printing.bottomMargin?=?1.5

}

function?Print(frame)?{

factory.printing.Print(tr?,?frame)?//?print?with?prompt

}


具體使用手冊,更多信息,點這里

//自帶的打印預覽

WebBrowser.ExecWB(1,1)?打開

Web.ExecWB(2,1)?關閉現在所有的IE窗口,并打開一個新窗口

Web.ExecWB(4,1)?保存網頁

Web.ExecWB(6,1)?打印

Web.ExecWB(7,1)?打印預覽

Web.ExecWB(8,1)?打印頁面設置

Web.ExecWB(10,1)?查看頁面屬性

Web.ExecWB(15,1)?好像是撤銷,有待確認

Web.ExecWB(17,1)?全選

Web.ExecWB(22,1)?刷新

Web.ExecWB(45,1)?關閉窗體無提示

.Noprint{display:none;}

.PageNext{page-break-after:?always;}

?

//去掉打印時的頁眉頁腳

var?HKEY_Root,HKEY_Path,HKEY_Key;

HKEY_Root="HKEY_CURRENT_USER";

HKEY_Path="\\Software\\Microsoft\\Internet?Explorer\\PageSetup\\";

//設置網頁打印的頁眉頁腳為空

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){}

}

//設置網頁打印的頁眉頁腳為默認值

function?PageSetup_Default()

{

try

{

var?Wsh=new?ActiveXObject("WScript.Shell");

HKEY_Key="header";

Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&w&b頁碼,&p/&P");

HKEY_Key="footer";

Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,"&u&b&d");

}

catch(e){}

}

//瀏覽器驗證

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;

}

//計算內容寬和高

function?test(obj)

{

var?range?=?obj.createTextRange();

alert("內容區寬度:?"?+?range.boundingWidth

+?"px\r\n內容區高度:?"?+?range.boundingHeight?+?"px");

}

sdf

//無模式的提示框?function?modelessAlert(Msg)

{

window.showModelessDialog("javascript:alert(\""+escape(Msg)+"\");window.close();","","status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;");

}

//屏蔽按鍵

&lt;meta&nbsp;http-equiv="refresh"&nbsp;content="0;url=about:noscript"&gt;

屏蔽鼠標右鍵、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格鍵

//屏蔽鼠標右鍵、Ctrl+N、Shift+F10、F11、F5刷新、退格鍵

//Author:?meizz(梅花雨)?2002-6-18

function?document.oncontextmenu(){event.returnVal?=false;}//屏蔽鼠標右鍵

function?window.onhelp(){return?false}?//屏蔽F1幫助

function?document.onkeydown()

{

if?((window.event.altKey)&&

((window.event.keyCode==37)||?//屏蔽?Alt+?方向鍵?←

(window.event.keyCode==39)))?//屏蔽?Alt+?方向鍵?→

{

alert("不準你使用ALT+方向鍵前進或后退網頁!");

event.returnVal?=false;

}

/*?注:這還不是真正地屏蔽?Alt+?方向鍵,

因為?Alt+?方向鍵彈出警告框時,按住?Alt?鍵不放,

用鼠標點掉警告框,這種屏蔽方法就失效了。以后若

有哪位高手有真正屏蔽?Alt?鍵的方法,請告知。*/

if?((event.keyCode==8)?||?//屏蔽退格刪除鍵

(event.keyCode==116)||?//屏蔽?F5?刷新鍵

(event.ctrlKey?&&?event.keyCode==82)){?//Ctrl?+?R

event.keyCode=0;

event.returnVal?=false;

}

if?(event.keyCode==122){event.keyCode=0;event.returnVal?=false;}?//屏蔽F11

if?(event.ctrlKey?&&?event.keyCode==78)?event.returnVal?=false;?//屏蔽?Ctrl+n

if?(event.shiftKey?&&?event.keyCode==121)event.returnVal?=false;?//屏蔽?shift+F10

if?(window.event.srcElement.tagName?==?"A"?&&?window.event.shiftKey)

window.event.returnVal??=?false;?//屏蔽?shift?加鼠標左鍵新開一網頁

if?((window.event.altKey)&&(window.event.keyCode==115))?//屏蔽Alt+F4

{

window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");

return?false;

}

}

屏蔽鼠標右鍵、Ctrl+N、Shift+F10、Alt+F4、F11、F5刷新、退格鍵

//屏蔽打印

@media?print{

*?{display:none}

}

//移動的圖層,拖動

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();

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.clientX;

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

}

}

doc.onreadystatechange=s

//刷新后不變的文本框?

.sHistory?{behavior:url(#default#savehistory);}

//訪問剪貼板

event.dataTransfer.setData("URL",?oImage.src);

sImageURL?=?event.dataTransfer.getData("URL")

(2)普通訪問

window.clipboardData.setData("Text",oSource.innerText);

window.clipboardData.getData("Text");

//操作COOKIE

function?SetCookie(sName,?sVal?)

{

document.cookie?=?sName?+?"="?+?escape(sVal?)?+?";?";

}

function?GetCookie(sName)

{

var?aCookie?=?document.cookie.split(";?");

for?(var?i=0;?i?<?aCookie.length;?i++)

{

var?aCrumb?=?aCookie.split("=");

if?(sName?==?aCrumb[0])

return?unescape(aCrumb[1]);

}

}

function?DelCookie(sName)

{

document.cookie?=?sName?+?"="?+?escape(sVal?)?+?";?expires=Fri,?31?Dec?1999?23:59:59?GMT;";

}

//setTimeout增加參數

var?_st?=?window.setTimeout;

window.setTimeout?=?function(fRef,?mDelay)?{

if(typeof?fRef?==?'function'){

var?argu?=?Array.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,call

Function.prototype.apply?=?function?(obj,?argu)?{

if?(obj)?obj.constr tor.prototype._caller?=?this;

var?argus?=?new?Array();

for?(var?i=0;i

argus?=?"argu["?+?i?+?"]";

var?r;

eval("r?=?"?+?(obj???("obj._caller("?+?argus.join(",")?+?");")?:?("this("?+?argus.join(",")?+?");")));

return?r;

};

Function.prototype.call?=?function?(obj)?{

var?argu?=?new?Array();

for?(var?i=1;i

argu[i-1]?=?arguments;

return?this.apply(obj,?argu);

};

//下載文件

function?DownURL(strRemoteURL,strLocalURL)

{

try

{

var?xmlHTTP=new?ActiveXObject("Microsoft.XMLHTTP");

xmlHTTP.open("Get",strRemoteURL,false);

xmlHTTP.send();

var?adodbStream=new?ActiveXObject("ADODB.Stream");

adodbStream.Type=1;//1=adTypeBinary

adodbStream.Open();

adodbStream.write(xmlHTTP.responseBody);

adodbStream.SaveToFile(strLocalURL,2);

adodbStream.Close();

adodbStream=null;

xmlHTTP=null;

}

catch(e)

{

window.confirm("下載URL出錯!");

}

//window.confirm("下載完成.");

}

//檢驗連接是否有效

function?getXML(URL)

{

var?xmlhttp?=?new?ActiveXObject("microsoft.xmlhttp");

xmlhttp.Open("GET",URL,?false);

try

{

xmlhttp.Send();

}

catch(e){}

finally

{

var?result?=?xmlhttp.responseText;

if(result)

{

if(xmlhttp.Status==200)

{

return(tr?);

}

else

{

return(false);

}

}

else

{

return(false);

}

}

}

//POST代替FORM

Function?URLEncoding(vstrIn)

strReturn?=?""

For?i?=?1?To?Len(vstrIn)

ThisChr?=?Mid(vStrIn,i,1)

If?Abs(Asc(ThisChr))?<?&HFF?Then

strReturn?=?strReturn?&?ThisChr

Else

innerCode?=?Asc(ThisChr)

If?innerCode?<?0?Then

innerCode?=?innerCode?+?&H10000

End?If

Hight8?=?(innerCode?And?&HFF00)\?&HFF

Low8?=?innerCode?And?&HFF

strReturn?=?strReturn?&?"%"?&?Hex(Hight8)?&?"%"?&?Hex(Low8)

End?If

Next

URLEncoding?=?strReturn

End?Function

Function?bytes2BSTR(vIn)

strReturn?=?""

For?i?=?1?To?LenB(vIn)

ThisCharCode?=?AscB(MidB(vIn,i,1))

If?ThisCharCode?<?&H80?Then

strReturn?=?strReturn?&?Chr(ThisCharCode)

Else

NextCharCode?=?AscB(MidB(vIn,i+1,1))

strReturn?=?strReturn?&?Chr(CLng(ThisCharCode)?*?&H100?+?CInt(NextCharCode))

i?=?i?+?1

End?If

Next

bytes2BSTR?=?strReturn

End?Function

dim?strA,oReq

strA?=?URLEncoding("s mit1=S mit&text1=中文")

set?oReq?=?CreateObject("MSXML2.XMLHTTP")

oReq.open?"POST","http://ServerName/VDir/TstResult.asp",false

oReq.setReq?stHeader?"Content-Length",Len(strA)

oReq.setReq?stHeader?"CONTENT-TYPE","application/x-www-form-urlencoded"

oReq.send?strA

msgbox?bytes2BSTR(oReq.responseBody)

//readyState是xmlhttp返回數據的進度,0=載入中,1=未初始化,2=已載入,3=運行中,4=完成

高級應用(二)

//組件是否安裝

isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}",?"componentID"))

//檢查網頁是否存在

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?tr?;

}

xmlhttp?=?null;

return?false;

}

//連接數據庫

//用?JavaScript?寫服務器端連接數據庫的代碼示例

var?conn?=?new?ActiveXObject("ADODB.Connection");

conn.Open("Provider=SQLOLEDB.1;?Data?Source=localhost;?User?ID=sa;?"

+"Password=;?Initial?Catalog=p s");

var?rs?=?new?ActiveXObject("ADODB.Recordset");

var?sql="select?*?from?authors";

rs.open(sql,?conn);

shtml?=?"";

au_idau_lnameau_fnamephoneaddress?citystatezip

while(!rs.EOF)

{

"?+?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;

//使用數據島

srno:

times:

"?onclick="xmldate.recordset.moveNext()">

>"?onclick="xmldate.recordset.moveLast()">

20041025-01null

20041101-092004年10月1日2點22分0?秒

//獲得參數

search


var?a?=?location.search.s str(1);

if(a.length>0)

{

var?re?=?/([^&]*?)\=([^&]*)/g

var?s?=?a.match(re);

for(var?i=?0;i

{

alert(s);

alert(s.split("=")[1]);

}

}

//-->

//可編輯SELECT

11111111

222222

333333

//設置光標位置

function?getCaret(textbox)

{

var?control?=?document.activeElement;

textbox.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(tr?);

r.select();

}

catch(e)

{}

}

function?selectLength(textbox,start,len)

{

try

{

var?r?=textbox.createTextRange();

r.moveEnd('character',len-(textbox.val?.length-start));

r.moveStart('character',start);

r.select();

}

catch(e)

{//alert(e.description)}

}

function?insertAtCaret(textbox,text)

{

textbox.focus();

document.selection.createRange().text?=?text;

}

//頁內查找

function?findInPage(str)

{

var?txt,?i,?found,n?=?0;

if?(str?==?"")

{

return?false;

}

txt?=?document.body.createTextRange();

for?(i?=?0;?i?<=?n?&&?(found?=?txt.findText(str))?!=?false;?i++)

{

txt.moveStart("character",?1);

txt.moveEnd("textedit");

}

if?(found)

{

txt.moveStart("character",?-1);

txt.findText(str);

txt.select();

txt.scrollIntoView();

n++;

}

else

{

if?(n?>?0)

{

n?=?0;

findInPage(str);

}

else

{

alert(str?+?"...?您要找的文字不存在。\n?\n請試著輸入頁面中的關鍵字再次查找!");

}

}

return?false;

}

//操作EXECL

function?jStartExcel()?{

var?xls?=?new?ActiveXObject?(?"Excel.Application"?);

xls.visible?=?tr?;

var?newBook?=?xls.Workbooks.Add;

newBook.Worksheets.Add;

newBook.Worksheets(1).Activate;

xls.ActiveWorkBook.ActiveSheet.PageSetup.Orientation?=?2;

xls.ActiveWorkBook.ActiveSheet.PageSetup.PaperSize?=?5;

newBook.Worksheets(1).Columns("A").columnwidth=50;

newBook.Worksheets(1).Columns("A").WrapText?=?tr?;

newBook.Worksheets(1).Columns("B").columnwidth=50;

newBook.Worksheets(1).Columns("B").WrapText?=?tr?;

newBook.Worksheets(1).Range("A1:B1000").NumberFormat?=?"0";

newBook.Worksheets(1).Range("A1:B1000").HorizontalAlignment?=?-4131;

newBook.Worksheets(1).Cells(1,1).Interior.ColorIndex="15";

newBook.Worksheets(1).Cells(1,1).val?="First?Column,?First?Cell";

newBook.Worksheets(1).Cells(2,1).val?="First?Column,?Second?Cell";

newBook.Worksheets(1).Cells(1,2).val?="Second?Column,?First?Cell";

newBook.Worksheets(1).Cells(2,2).val?="Second?Column,?Second?Cell";

newBook.Worksheets(1).Name="My?First?WorkSheet";

}

//自定義提示條

tip

//***********默認設置定義.*********************

tPopWait=50;//停留tWait豪秒后顯示提示。

tPopShow=5000;//顯示tShow豪秒后關閉提示

showPopStep=20;

popOpacity=99;

//***************內部變量定義*****************

sPop=null;

curShow=null;

tFadeOut=null;

tFadeIn=null;

tFadeWaiting=null;

document.write("");

document.write(".cPopText?{?background-color:?#F8F8F5;color:#000000;?border:?1px?#000000?solid;font-color:?font-size:?12px;?padding-right:?4px;?padding-left:?4px;?height:?20px;?padding-top:?2px;?padding-bottom:?2px;?filter:?Alpha(Opacity=0)}");

document.write("");

document.write("");

function?showPopupText(){

var?o=event.srcElement;

MouseX=event.x;

MouseY=event.y;

if(o.alt!=null?&&?o.alt!=""){o.dypop=o.alt;o.alt=""};

if(o.title!=null?&&?o.title!=""){o.dypop=o.title;o.title=""};

if(o.dypop!=sPop)?{

sPop=o.dypop;

clearTimeout(curShow);

clearTimeout(tFadeOut);

clearTimeout(tFadeIn);

clearTimeout(tFadeWaiting);

if(sPop==null?||?sPop=="")?{

dypopLayer.innerHTML="";

dypopLayer.style.filter="Alpha()";

dypopLayer.filters.Alpha.opacity=0;

}

else?{

if(o.dyclass!=null)?popStyle=o.dyclass

else?popStyle="cPopText";

curShow=setTimeout("showIt()",tPopWait);

}

}

}

function?showIt(){

dypopLayer.className=popStyle;

dypopLayer.innerHTML=sPop;

popWidth=dypopLayer.clientWidth;

popHeight=dypopLayer.clientHeight;

if(MouseX+12+popWidth>document.body.clientWidth)?popLeftAdjust=-popWidth-24

else?popLeftAdjust=0;

if(MouseY+12+popHeight>document.body.clientHeight)?popTopAdjust=-popHeight-24

else?popTopAdjust=0;

dypopLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust;

dypopLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust;

dypopLayer.style.filter="Alpha(Opacity=0)";

fadeOut();

}

function?fadeOut(){

if(dypopLayer.filters.Alpha.opacity

dypopLayer.filters.Alpha.opacity+=showPopStep;

tFadeOut=setTimeout("fadeOut()",1);

}

else?{

dypopLayer.filters.Alpha.opacity=popOpacity;

tFadeWaiting=setTimeout("fadeIn()",tPopShow);

}

}

function?fadeIn(){

if(dypopLayer.filters.Alpha.opacity>0)?{

dypopLayer.filters.Alpha.opacity-=1;

tFadeIn=setTimeout("fadeIn()",1);

}

}

document.onmouseover=showPopupText;

//插入文字

document.onclick?=function(){

var?oSource?=?window.event.srcElement;

if(oSource.tagName!="DIV")

return?false;

var?sel?=?document.selection;

if?(sel!=null)?{

var?rng?=?sel.createRange();

if?(rng!=null)

rng.pasteHTML("插入文字");

}

}

//netscapte下操作xml

doc?=?new?ActiveXObject("Msxml2.DOMDocument");

doc?=?new?ActiveXObject("Microsoft.XMLDOM")

->>

doc?=?(new?DOMParser()).parseFromString(sXML,'text/xml')

//禁止FSO

1.注銷組件

regsvr32?/u?scrrun.dll

2.修改PROGID

HKEY_CLASSES_ROOT\Scripting.FileSystemObject

Scripting.FileSystemObject

3.對于使用object的用戶,修改HKEY_CLASSES_ROOT\Scripting.

//省略號

overflow:?hidden;?text-overflow:ellipsis">

就是比如有一行文字,很長,表格內一行顯示不下.

//判斷鍵值

var?ie?=navigator.appName=="Microsoft?Internet?Explorer"?tr?:false;

function?keyDown(e)

{

if(!ie)

{

var?nkey=e.which;

var?iekey='現在是ns瀏覽器';

var?realkey=String.fromCharCode(e.which);

}

if(ie)

{

var?iekey=event.keyCode;

var?nkey='現在是ie瀏覽器';

var?realkey=String.fromCharCode(event.keyCode);

if(event.keyCode==32){realkey='\'?空格\''}

if(event.keyCode==13){realkey='\'?回車\''}

if(event.keyCode==27){realkey='\'?Esc\''}

if(event.keyCode==16){realkey='\'?Shift\''}

if(event.keyCode==17){realkey='\'?Ctrl\''}

if(event.keyCode==18){realkey='\'?Alt\''}

}

alert('ns瀏覽器中鍵值:'+nkey+'\n'+'ie瀏覽器中鍵值:'+iekey+'\n'+'實際鍵為'+realkey);

}

document.onkeydown?=?keyDown;

//Javascript?Document.


請按任意一個鍵。。。。

//檢測media?play版本

var?flash="";

WMPVersion=?oClientCaps.getComponentVersion("{22D6F312-B0F6-11D0-94AB-0080C74C7E95}","ComponentID");

if?(WMPVersion?!=?"")?{

flash?=?"";

var?version?=?WMPVersion.split(",");

var?i;

for?(i?=?0;?i?<?version.length;?i++)?{

if?(i?!=?0)

flash?+=?".";

flash?+=?version;

}

document.write("您的Windows?Media?Player?版本是:"+flash+"

");

}

//圖象按比例


//圖片按比例縮放

var?flag=false;

function?DrawImage(ImgD){

var?image=new?Image();

var?iwidth?=?80;?//定義允許圖片寬度

var?iheight?=?80;?//定義允許圖片高度

image.src=ImgD.src;

if(image.width>0?&&?image.height>0){

flag=tr?;

if(image.width/image.height>=?iwidth/iheight){

if(image.width>iwidth){

ImgD.width=iwidth;

ImgD.height=(image.height*iwidth)/image.width;

}else{

ImgD.width=image.width;

ImgD.height=image.height;

}

ImgD.alt=image.width+"×"+image.height;

}

else{

if(image.height>iheight){

ImgD.height=iheight;

ImgD.width=(image.width*iheight)/image.height;

}else{

ImgD.width=image.width;

ImgD.height=image.height;

}

ImgD.alt=image.width+"×"+image.height;

}

}

}

//-->

//細線SELECT

1111

11111111111111

111111111

//Import

function?Import()?{

for(?var?i=0;?i

var?file?=?arguments;

if?(?file.match(/\.js$/i))

document.write('');

else

document.write('@import?\"'?+?file?+?'\"?;');

}

};

//js枚舉

function?getComputerName()

{

var?objWMIService?=?GetObject("Winmgmts:root\cimv2");

for(e?=?new?Enumerator(objWMIService)?;?!e.atEnd()?;?e.moveNext())

{

var?getComputer?=?e.item();

return?getComputer.Name;

}

}

//條件編譯

/*@cc_on?@*/

/*@if?(@_win32?&&?@_jscript_version>5)

function?window.confirm(str)

{

execScript("n?=?msgbox('"+?str?+"',?257)",?"vbscript");

return(n?==?1);

}

@end?@*/

//取得innerText


var?xmlDoc?=?new?ActiveXObject("Msxml2.DOMDocument.4.0");

var?currNode;

xmlDoc.async?=?false;

xmlDoc.async?=?false;

xmlDoc.loadXML("?你好你阿三?大法?司法等四?");

currNode?=?xmlDoc.documentElement;

var?s?=?currNode.xml;

var?r?=?/\<([^\>\s]*?)[^\>]*?\>([^\<]*?)\<\/\1\>/

var?b?=?s.replace(r,"$2");

alert(b);

//-->

//mergeAttributes?復制所有讀/寫標簽屬性到指定元素。

function?fnMerge(){

oSource.children[1].mergeAttributes(oSource.children[0]);

}

ID="oDiv"

ATTRIBUTE1="tr?"

ATTRIBUTE2="tr?"

onclick="alert('click');"

onmouseover="this.style.color='#0000FF';"

onmouseout="this.style.color='#000000';"

>

This?is?a?sample?DIV?element.

This?is?another?sample?DIV?element.

TYPE="button"

VAL?="Merge?Attributes"

onclick="fnMerge()"

>

JavaScript[對象.屬性]集錦

SCRIPT?標記

用于包含javascript代碼.

語法

屬性

LANG GE?定義腳本語言

SRC?定義一個URL用以指定以.JS結尾的文件

windows對象

每個HTML文檔的頂層對象.

屬性

frames[]?子楨數組.每個子楨數組按源文檔中定義的順序存放.

feames.length?子楨個數.

self?當前窗口.

parent?父窗口(當前窗口是中一個子窗口).

top?頂層窗口(是所有可見窗口的父窗口).

status?瀏覽器狀態窗口上的消息.

defaultStatus?當status無效時,出現在瀏覽器狀態窗口上的缺省消息.

name?內部名,為由window.open()方法打開的窗口定義的名字.

方法

alert("message")?顯示含有給定消息的"javascript?Alert"對話框.

confirm("message")?顯示含有給定消息的"Confirm"對話框(有一個OK按鈕和一個Cancel按鈕).如果用戶單擊OK返回tr?,否則返回false.

prompt("message")?顯示一個"prompt"對話框,要求用戶根據顯示消息給予相應輸入.

open("URL","name")?打開一個新窗口,給予一個指定的名字.

close()?關閉當前窗口.

frame對象

它是整個瀏覽器窗口的子窗口,除了status,defaultStatus,name屬性外,它擁有window對象的全部屬性.

location對象

含有當前URL的信息.

屬性

href?整個URL字符串.

protocol?含有URL第一部分的字符串,如http:

host?包含有URL中主機名:端口號部分的字符串.如//www.cenpok.net/server/

hostname?包含URL中主機名的字符串.如http://www.cenpok.net

port?包含URL中可能存在的端口號字符串.

pathname?URL中"/"以后的部分.如~list/index.htm

hash?"#"號(CGI參數)之后的字符串.

search?"?"號(CGI參數)之后的字符串.

document對象

含有當前文檔信息的對象.

屬性

title?當前文檔標題,如果未定義,則包含"Untitled".

location?文檔的全URL.

lastModified?含有文檔最后修改日期.

referrer?調用者URL,即用戶是從哪個URL鏈接到當前頁面的.

bgColor?背景色(#xxxxxx)

fgColor?前景文本顏色.

linkColor?超鏈接顏色.

vlinkColor?訪問過的超鏈顏色.

alinkColor?激活鏈顏色(鼠標按住未放時).

forms[]?文檔中form對象的數組,按定義次序存儲.

forms.length?文檔中的form對象數目.

links[]?與文檔中所有HREF鏈對應的數組對象,按次序定義存儲.

links.length?文檔中HREF鏈的數目.

anchors[]?錨(...)數組,按次序定義存儲.

anchors.length?文檔中錨的數目.

方法

write("string")?將字符串突出給當前窗口.(字符串可以含有HTML標記)

writeln("string")?與write()類似,在結尾追加回車符,只在預定格式文本中(...或...)生效.

clear()?清當前窗口.

close()?關閉當前窗口.

form對象

屬性

name

中的NAME屬性的字符串值.

method?中METHOD屬性的類值,"0"="GET"?,"1"="POST"?.

action?中ACTION屬性的字符串值.

target?表格數據提交的目標,與標記中相應屬性一致.

elements[index]?elements屬性包含form中的各個元素.

length?表格中的元素個數.

方法

s mit()?提交表格.

事件處理器onS mit()?用戶單擊一個定義好的按鈕提交form時運行的代碼.

text和textarea對象

屬性

name?NAME屬性的字符串值.

val??域內容的字符串值.

defaultVal??域內容的初始字符串值.

方法

focus()?設置對象輸入焦點.

blur()?從對象上移走輸入焦點.

select()?選定對象的輸入區域.

事件處理器

onFocus?當輸入焦點進入時執行.

onBlur?當域失去焦點時執行.

onSelect?當域中有部分文本被選定時執行.

onChange?當域失去焦點且域值相對于onFocus執行有所改變時執行.

復選框(checkbox)對象

屬性

name?NAME屬性的字符串值.

val??復選框內容的字符串值.如果設置了,則為"on",否則為"off".

checked?復選框內容的布爾值.如果設置了,則為tr?,否則為false?.

defaultChecked?反映(CHECKED)屬性的布爾值(缺省狀態).

方法

click()?選定復選框,并使之狀態為"on".

事件處理器

onClick?當用戶單擊Checkbox時執行.

單選按鈕(radio)對象

屬性

name?NAME屬性的字符串值.

length?radio對象中單選按鈕的個數.

val??VAL?屬性的字符串值.

checked?布爾值,按下為tr?,否則為false?.

defaultChecked?反映CHECKED屬性值的布爾值.

方法

click()?選定單選按鈕.

事件處理器

onClick?當單選按鈕被選定時執行.

select對象

屬性

length?select對象中對象的個數.

name?由NAME=屬性定義的select對象的內部名.

selectedIndex?select對象中當前被選option的下標.

options?該屬性對應于在HTML中定義select對象時標記中的內容,它有如下屬性:

text?標記后的文本串.

val??VAL?屬性的值,當S mit按鈕被按下時,該值被提交.

defaultSelected?反映標記的SELECTED屬性的布爾值.

selected?反映option的當前選擇狀態的布爾值.

事件處理器

onFocus?當輸入焦點進入域時執行.

onBlur?當域失去輸入焦點時執行.

onChange?當域失去焦點且如果域的值相對于onFocus執行時有所改變,則執行onChange.

Button對象

表格中有三種類型按鈕,由標記中的TYPE屬性定義:

.s mit?(type="S MIT")

.reset?(type="RESET")

.custom?(type="BUTTON")

所有按鈕對象都有如下成分:

屬性

val??VAL?屬性的字符串值.

name?NAME屬性的字符串值.

方法

click()?選定按鈕

事件處理器

onClick?當按鈕被單擊時執行.

s mit和reset對象

屬性

val??VAL?=屬性的內容.

name?NAME=屬性的內容.

方法

click()?選定按鈕

事件處理器

onClick?當按鈕被單擊時執行.

password對象

屬性

defaultVal??VAL?=屬性的內容.

name?NAME=屬性的內容.

val??目前輸入password域的數據.

方法

focus()?將焦點帶入password域.

blur?將焦點從password域移出.

select()?選定password域中的當前數據,以備修改.

navigator對象

該對象用于確定用戶訪問時使用的Navigator版本.

屬性

appCodeName?相對于用戶瀏覽器的"codename"

appName?相對于用戶瀏覽器的實際名字.

appVersion?相對于用戶瀏覽器的版本號.

userAgent?該屬性反映用戶瀏覽器的全部信息.

string對象

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,748評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,165評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,595評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,633評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,435評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,943評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,035評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,175評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,713評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,599評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,788評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,303評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,034評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,412評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,664評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,408評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,747評論 2 370

推薦閱讀更多精彩內容

  • 什么是事件: 事件是交互體驗的核心功能 一.事件冒泡: 當一個事件發生時,這個事件會從內向外逐層傳遞。 二.為什么...
    輕描淡寫mua閱讀 520評論 0 0
  • 單例模式 適用場景:可能會在場景中使用到對象,但只有一個實例,加載時并不主動創建,需要時才創建 最常見的單例模式,...
    Obeing閱讀 2,085評論 1 10
  • w一:rem布局公式 document.documentElement.style.fontSize=20*doc...
    stars甜閱讀 790評論 0 1
  • 你一定有拖著沉重的行李箱在擁擠的車站里掙扎,真的,好像用盡身體每個細胞的力氣也抬不起,可是從身旁經過的是輕而易舉抗...
    林子的十三月閱讀 400評論 0 0
  • 我常聽別人說,我愛的人不是我的愛人;可惜不是你陪我到最后;要有多幸運,我喜歡的人也喜歡我......這其中多少的無...
    Jeeke閱讀 1,054評論 7 6