javascript
JavaScript使用技巧精萃 经典代码收藏版
(一).確認(rèn)刪除用法:
? 1. BtnDel.Attributes.Add("onclick","return confirm('"+"確認(rèn)刪除?"+"')");
? 2. linktempDelete.Attributes["onclick"]="javascript:return? confirm('"+"確認(rèn)刪除?"+"');";
? 3. private void grdProject_ItemDataBound(object sender, DataGridItemEventArgs e)
? 4.
? {
if ((e.Item.ItemType == ListItemType.Item) | (e.Item.ItemType == ListItemType.AlternatingItem))
{
? // 刪除按鈕上的提示部分
? e.Item.Cells[10].Attributes.Add("onclick", "return confirm('確定刪除嗎?');");
}
? }
? 5.
??? <script language="JavaScript" type="text/JavaScript">
function delete_y(e)
??????? {
??? if(event.srcElement.outerText == "刪除")
??????? event.returnValue=confirm("確定刪除?");
}
document.οnclick=delete_y;
??? </script>
(二).跨語言字符串替換
System.Text.RegularExpressions.Regex.Replace(str1,@" <{1}[^ <>]*>{1}","").Replace(" ","").Replace("\","\\").Replace("-","-").Replace("&","&").Replace("<"," <").Replace(">",">").Replace("br","\n");(三).關(guān)閉窗體
1.
????? this.btnClose.Attributes.Add("onclick",? "window.close();return false;");
? 2.關(guān)閉本窗體間跳轉(zhuǎn)到另一個(gè)頁面
????? this.HyperLink1.NavigateUrl = "javascript:οnclick=window.opener.location.assign
??????? ('" + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();";
? 3.關(guān)閉父窗體:
????? <INPUT type="reset" value=' <%=this._Cancel%>' οnclick="window.parent.close()"? Class="Button">
? 4.關(guān)閉本彈出窗體,并刷新父頁面
????? this.Response.Write(" <script language='javascript'>window.opener.location.reload();window.close(); </script>");
(四).Web MessageBox
? 1.
????? Response.Write(" <script language=javascript> window.alert('保存成功1'); </script>");
? 2.
????? Response.Write(" <script>alert('"+"保存成功!"+"'); </script>");
? 3.
????? this.Page.RegisterStartupScript("ChiName"," <script language='javascript'>alert('" + "保存成功!" + "') </script>");
(五).DataGrid中加CheckBox控件模板列.
? 請(qǐng)看:? http://blog.csdn.net/chengking/archive/2005/10/08/497520.aspx
(六). window.open() 方法
語法:window.open(pageurl,name,parameters);
window對(duì)象的open()方法用于創(chuàng)建一個(gè)新的窗口實(shí)例,新創(chuàng)建的窗口的外觀由參數(shù):parameters指定。新窗口中打開的文檔由參數(shù):??????? pageurl指定。系統(tǒng)能夠根據(jù)參數(shù):name確定的名稱訪問該窗口。
下表為parameters參數(shù)表:
alwaysLowered yes/no 指定窗口隱藏在所有窗口之下。alwaysRaised yes/no 指定窗口浮在所有窗口之上。dependent yes/no 指定打開的窗口為父窗口的一個(gè)了窗口。并隨父窗口的關(guān)閉而關(guān)閉。directions yes/no 指定Navigator 2和3的目錄欄是否在新窗口中可見。height pixel value 設(shè)定新窗口的像素高度。hotkeys yes/no 在沒有菜單欄的新窗口設(shè)置安全退出熱鍵。innerHeight pixel value 設(shè)置新窗口中文檔的像素高度。innerWidth pixel value 設(shè)置新窗口中文檔的像素寬度。location yes/ no 指明位置欄在新窗口中是否可見。menubar yes /no 指明菜單欄在新窗口中是否可見。outerHeight pixel value 設(shè)定窗口(包括裝飾邊框)的像素高度。outerWidth pixel value 設(shè)定窗口(包括裝飾邊框)的像素寬度。resizable yes /no 指明新窗口是否可以調(diào)整。screenX pixel value 設(shè)定新窗口離屏幕邊界的像素長度。screenY pixel value 設(shè)定新窗口離屏幕上邊界的像素長度。scrollbars yes /no 指明滾動(dòng)欄在新窗口中是否可見。titlebar yes /no 指明菜單題目欄在新窗口是否可見。toolbar yes /no 指明工具欄在新窗口中是否可見。Width pixel value 設(shè)定窗口的像素寬度。z-look yes /no 在文檔中包含各個(gè) <pplet>標(biāo)簽的數(shù)組。fullscreen yes / no 打開的窗體是否進(jìn)行全屏顯示left pixel value 設(shè)定新窗口距屏幕左方的距離top pixel value 設(shè)定新窗口距屏幕上方的距離例子:
<html><head><title>window.open函數(shù) </title></head><body><script language="javascript"><!--window.open("","name1","width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100");//--></script></body></html>(七).location對(duì)象???
??? href 整個(gè)URL字符串.
??? protocol 含有URL第一部分的字符串,如http:
??? host 包含有URL中主機(jī)名:端口號(hào)部分的字符串.如//www.cenpok.net/server/
??? hostname 包含URL中主機(jī)名的字符串.如http://www.cenpok.net
??? port 包含URL中可能存在的端口號(hào)字符串.
??? pathname URL中"/"以后的部分.如~list/index.htm
??? hash "#"號(hào)(CGI參數(shù))之后的字符串.
??? search "?"號(hào)(CGI參數(shù))之后的字符串.
(八).按鍵捕捉
? 1.Ctrl+Enter按鍵捕捉方法
??? <body οnkeydοwn="doKeyDown()">
??? <script language="JavaScript">
??? <!--
??? function doKeyDown()
??? {
??????? if (event.ctrlKey && event.keyCode == 13)
??????? {
????????? alert("You pressed the Ctrl + Enter")
??????? }
??? }
??? //-->
??? </script>
??? </body>
? 2.Alt加快捷鍵: Alt+A
??? <button accessKey=A title="Alt+A" οnclick="alert('Button clicked!')">Alt+A </button>
(九).控制輸入,非法字符不能輸入到TextBox.
??? <asp:textbox class="Text"
??????? οnkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;"
id="txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12">
??? </asp:textbox>
??? 說明: 此方法控制TextBox只收數(shù)字:0~9 , 也自可以定義其它可輸入字符,如改成: 65~123,只允許輸入: a~z和A~Z 等.
? 1>屏蔽功能類
1.1 屏蔽鍵盤所有鍵
<script language="javascript">
<!--
function document.onkeydown(){
? event.keyCode = 0;
? event.returnvalue = false;
}
-->
</script>
1.2 屏蔽鼠標(biāo)右鍵
在body標(biāo)簽里加上οncοntextmenu=self.event.returnvalue=false
或者
<script language="javascript">
<!--
function document.oncontextmenu()
{
? return false;
}
-->
</script>
function nocontextmenu()
{
??? if(document.all) {
??????? event.cancelBubble=true;
??????? event.returnvalue=false;
??????? return false;
??? }
}
或者
<body οnmοusedοwn="rclick()" οncοntextmenu= "nocontextmenu()">
<script language="javascript">
<!--
function rclick()
{
??? if(document.all) {
??????? if (event.button == 2){
??????????? event.returnvalue=false;
??????? }
??? }
}
-->
</script>
1.3 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格鍵
<script language="javascript">
<!--
? //屏蔽鼠標(biāo)右鍵、Ctrl+N、Shift+F10、F5刷新、退格鍵
function window.onhelp(){return false} //屏蔽F1幫助
function KeyDown(){
? if ((window.event.altKey)&&
????? ((window.event.keyCode==37)||? //屏蔽 Alt+ 方向鍵 ←
????? (window.event.keyCode==39))){? //屏蔽 Alt+ 方向鍵 →
??? alert("不準(zhǔn)你使用ALT+方向鍵前進(jìn)或后退網(wǎng)頁!");
??? event.returnvalue=false;
??? }
??? /* 注:這還不是真正地屏蔽 Alt+ 方向鍵,
??? 因?yàn)?Alt+ 方向鍵彈出警告框時(shí),按住 Alt 鍵不放,
??? 用鼠標(biāo)點(diǎn)掉警告框,這種屏蔽方法就失效了。以后若
??? 有哪位高手有真正屏蔽 Alt 鍵的方法,請(qǐng)告知。*/
? if ((event.keyCode == 8) &&
????? (event.srcElement.type != "text" &&
????? event.srcElement.type != "textarea" &&
????? event.srcElement.type != "password") ||????????? //屏蔽退格刪除鍵
????? (event.keyCode==116)||??????????????????????????? //屏蔽 F5 刷新鍵
????? (event.ctrlKey && event.keyCode==82)){??????????? //Ctrl + R
??? event.keyCode=0;
??? event.returnvalue=false;
??? }
? if ((event.ctrlKey)&&(event.keyCode==78))? //屏蔽 Ctrl+n
??? event.returnvalue=false;
? if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10
??? event.returnvalue=false;
? if (window.event.srcElement.tagName == "A" && window.event.shiftKey)
????? window.event.returnvalue = false;? //屏蔽 shift 加鼠標(biāo)左鍵新開一網(wǎng)頁
? if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4
????? window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");
????? return false;}
? }
/* 另外可以用 window.open 的方法屏蔽 IE 的所有菜單
第一種方法:
? window.open("你的.htm", "","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")
第二種方法是打開一個(gè)全屏的頁面:
? window.open("你的.asp", "", "fullscreen=yes")
*/
//-->
</script>
1.4屏蔽瀏覽器右上角“最小化”“最大化”“關(guān)閉”鍵
<script language=javascript>
function window.onbeforeunload()
{
? if(event.clientX>document.body.clientWidth&&event.clientY <0||event.altKey)
? {
??? window.event.returnvalue = "";
? }
}
</script>
或者使用全屏打開頁面
<script language="javascript">
<!--
window.open(www.32pic.com,"32pic","fullscreen=3,height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");
-->
</script>
注:在body標(biāo)簽里加上οnbefοreunlοad="javascript:return false"(使不能關(guān)閉窗口)
1.5屏蔽F5鍵
<script language="javascript">
<!--
function document.onkeydown()
{
??? if ( event.keyCode==116)
??? {
??????? event.keyCode = 0;
??????? event.cancelBubble = true;
??????? return false;
??? }
}
-->
</script>
1.6屏蔽IE后退按鈕
在你鏈接的時(shí)候用 <a href="javascript:location.replace(url)">
1.7屏蔽主窗口滾動(dòng)條
在body標(biāo)簽里加上 style="overflow-y:hidden"
1.8 屏蔽拷屏,不斷地清空剪貼板
在body標(biāo)簽里加上οnlοad="setInterval('clipboardData.setData(\'Text\',\'\')',100)"
1.9 屏蔽網(wǎng)站的打印功能
<style>
@media print {
? * { display: none }
}
</style>
1.10 屏蔽IE6.0 圖片上自動(dòng)出現(xiàn)的保存圖標(biāo)
方法一:
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">
方法二:
<img galleryimg="no">
1.11 屏蔽頁中所有的script
<noscrript> </noscript>
2>表單提交驗(yàn)證類
2.1 表單項(xiàng)不能為空<script language="javascript"> <!-- function CheckForm() { if (document.form.name.value.length == 0) {alert("請(qǐng)輸入您姓名!");document.form.name.focus();return false; }return true; } --> </script>2.2 比較兩個(gè)表單項(xiàng)的值是否相同<script language="javascript"> <!-- function CheckForm() if (document.form.PWD.value != document.form.PWD_Again.value) {alert("您兩次輸入的密碼不一樣!請(qǐng)重新輸入.");document.ADDUser.PWD.focus();return false; }return true; } --> </script>2.3 表單項(xiàng)只能為數(shù)字和"_",用于電話/銀行帳號(hào)驗(yàn)證上,可擴(kuò)展到域名注冊(cè)等<script language="javascript"> <!-- function isNumber(String) {var Letters = "1234567890-"; //可以自己增加可輸入值var i;var c;if(String.charAt( 0 )=='-') return false;if( String.charAt( String.length - 1 ) == '-' )return false;for( i = 0; i < String.length; i ++ ){c = String.charAt( i );if (Letters.indexOf( c ) < 0)return false; }return true; } function CheckForm() {if(! isNumber(document.form.TEL.value)) {alert("您的電話號(hào)碼不合法!");document.form.TEL.focus();return false; } return true; } --> </script>2.4 表單項(xiàng)輸入數(shù)值/長度限定<script language="javascript"> <!-- function CheckForm() {if (document.form.count.value > 100 || document.form.count.value < 1) { alert("輸入數(shù)值不能小于零大于100!"); document.form.count.focus(); return false; }if (document.form.MESSAGE.value.length <10) { alert("輸入文字小于10!"); document.form.MESSAGE.focus(); return false; } return true; } //--> </script>2.5 中文/英文/數(shù)字/郵件地址合法性判斷<SCRIPT LANGUAGE="javascript"> <!--function isEnglish(name) //英文值檢測(cè) { if(name.length == 0)return false; for(i = 0; i < name.length; i++) {if(name.charCodeAt(i) > 128)return false; } return true; }function isChinese(name) //中文值檢測(cè) { if(name.length == 0)return false; for(i = 0; i < name.length; i++) {if(name.charCodeAt(i) > 128)return true; } return false; }function isMail(name) // E-mail值檢測(cè) { if(! isEnglish(name))return false; i = name.indexOf("@"); j = name.lastIndexOf("@"); if(i == -1)return false; if(i != j)return false; if(i == name.length)return false; return true; }function isNumber(name) //數(shù)值檢測(cè) { if(name.length == 0)return false; for(i = 0; i < name.length; i++) {if(name.charAt(i) < "0" || name.charAt(i) > "9")return false; } return true; }function CheckForm() { if(! isMail(form.Email.value)) {alert("您的電子郵件不合法!");form.Email.focus();return false; } if(! isEnglish(form.name.value)) {alert("英文名不合法!");form.name.focus();return false; } if(! isChinese(form.cnname.value)) {alert("中文名不合法!");form.cnname.focus();return false; } if(! isNumber(form.PublicZipCode.value)) {alert("郵政編碼不合法!");form.PublicZipCode.focus();return false; } return true; } //--> </SCRIPT>2.6 限定表單項(xiàng)不能輸入的字符<script language="javascript"> <!--function contain(str,charset)// 字符串包含測(cè)試函數(shù) {var i;for(i=0;i <charset.length;i++)if(str.indexOf(charset.charAt(i))>=0)return true;return false; }function CheckForm() { if ((contain(document.form.NAME.value, "%\(\)> <")) || (contain(document.form.MESSAGE.value, "%\(\)> <"))) {alert("輸入了非法字符");document.form.NAME.focus();return false; }return true; } //--> </script>補(bǔ)充1
■打開■ <input name=Button onClick=document.all.WebBrowser.ExecWB(1,1) type=button value=打開> <OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0> </OBJECT>■另存為■ <input name=Button onClick=document.all.WebBrowser.ExecWB(4,1) type=button value=另存為> <OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0> </OBJECT>■屬性■ <input name=Button onClick=document.all.WebBrowser.ExecWB(10,1) type=button value=屬性> <OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0> </OBJECT>■打印■ <input name=Button onClick=document.all.WebBrowser.ExecWB(6,1) type=button value=打印> <OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0> </OBJECT>■頁面設(shè)置■ <input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=頁面設(shè)置> <OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0> </OBJECT>■刷新■ <input type=button value=刷新 name=refresh οnclick="window.location.reload()">■導(dǎo)入收藏■ <input type="button" name="Button" value="導(dǎo)入收藏夾" onClick=window.external.ImportExportFavorites(true,);>■導(dǎo)出收藏■ <input type="button" name="Button3" value="導(dǎo)出收藏夾" onClick=window.external.ImportExportFavorites(false,);>■加入收藏■ <INPUT name=Button2 οnclick="window.external.AddFavorite(location.href, document.title)" type=button value=加入收藏夾>■整理收藏夾■ <INPUT name=Submit2 οnclick="window.external.ShowBrowserUI(OrganizeFavorites, null)" type=button value=整理收藏夾>■查看原文件■ <INPUT name=Button οnclick=window.location = "view-source:" + window.location.href type=button value=查看源文件>■語言設(shè)置■ <INPUT name=Button οnclick="window.external.ShowBrowserUI(LanguageDialojavadetype=button value=語言設(shè)置>■前進(jìn)■ <INPUT name=Submit οnclick=history.go(1) type=submit value=前進(jìn)>■后退■ <INPUT name=Submit2 οnclick=history.go(-1) type=submit value=后退>按鈕10秒后才可以點(diǎn)擊.
<input name="rulesubmit" id="agree" class="button" type="submit" value="我已閱讀并同意以上條款"> <input type="button" name="return" class="button" value="不同意" οnclick="javascript:window.location='/opencms/index.html';"></div> </form> <script language="javascript">var secs = 10;var wait = secs * 1000;document.bbrules.rulesubmit.value = "我已閱讀并同意以上條款 (" + secs + ")";document.bbrules.rulesubmit.disabled = true;for(i = 1; i <= secs; i++) {window.setTimeout("update(" + i + ")", i * 1000);}window.setTimeout("timerrun()", wait);function update(num, value) {if(num == (wait/1000)) {document.bbrules.rulesubmit.value = "我已閱讀并同意以上條款";} else {printnr = (wait / 1000)-num;document.bbrules.rulesubmit.value = "我已閱讀并同意以上條款 (" + printnr + ")";}}function timerrun() {document.bbrules.rulesubmit.disabled = false;document.bbrules.rulesubmit.value = "我已閱讀并同意以上條款";} </script>關(guān)于瀏覽器關(guān)閉的捕捉事件
<script language=javascript> window.onbeforeunload = function() { if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey) { window.event.returnValue = ""; //your code } } </script>鏈接超時(shí)
把如下代碼加入?yún)^(qū)域中:
解決內(nèi)存泄漏的問題。
<script language="javascript"> function sendRequest(url) {url += (url.indexOf("?")==-1?"?":"&") + "timestamp=" + new Date().getTime();req = new ActiveXObject("Microsoft.XMLHTTP");req.open("GET",url,true);writeStuff('Opening ' + url);req.onreadystatechange = function () {writeStuff('readyState is now ' + req.readyState); }req.send(null);writeStuff('Sending request'); } function writeStuff(msg) {log.innerHTML += msg + " ";} </script> <body οnlοad="sendRequest('http://www.hack58.com');"> <div id="log"></div>轉(zhuǎn)載于:https://www.cnblogs.com/tangge/archive/2011/06/23/2087724.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的JavaScript使用技巧精萃 经典代码收藏版的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌新一代AI大模型刚发布,就打算应用于
- 下一篇: Spring 连接 PostgreSQL