javascript
JavaScript使用技巧精萃 经典代码收藏版
(一).確認刪除用法:
? 1. BtnDel.Attributes.Add("onclick","return confirm('"+"確認刪除?"+"')");
? 2. linktempDelete.Attributes["onclick"]="javascript:return? confirm('"+"確認刪除?"+"');";
? 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");(三).關閉窗體
1.
????? this.btnClose.Attributes.Add("onclick",? "window.close();return false;");
? 2.關閉本窗體間跳轉到另一個頁面
????? this.HyperLink1.NavigateUrl = "javascript:οnclick=window.opener.location.assign
??????? ('" + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();";
? 3.關閉父窗體:
????? <INPUT type="reset" value=' <%=this._Cancel%>' οnclick="window.parent.close()"? Class="Button">
? 4.關閉本彈出窗體,并刷新父頁面
????? 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控件模板列.
? 請看:? http://blog.csdn.net/chengking/archive/2005/10/08/497520.aspx
(六). window.open() 方法
語法:window.open(pageurl,name,parameters);
window對象的open()方法用于創建一個新的窗口實例,新創建的窗口的外觀由參數:parameters指定。新窗口中打開的文檔由參數:??????? pageurl指定。系統能夠根據參數:name確定的名稱訪問該窗口。
下表為parameters參數表:
alwaysLowered yes/no 指定窗口隱藏在所有窗口之下。alwaysRaised yes/no 指定窗口浮在所有窗口之上。dependent yes/no 指定打開的窗口為父窗口的一個了窗口。并隨父窗口的關閉而關閉。directions yes/no 指定Navigator 2和3的目錄欄是否在新窗口中可見。height pixel value 設定新窗口的像素高度。hotkeys yes/no 在沒有菜單欄的新窗口設置安全退出熱鍵。innerHeight pixel value 設置新窗口中文檔的像素高度。innerWidth pixel value 設置新窗口中文檔的像素寬度。location yes/ no 指明位置欄在新窗口中是否可見。menubar yes /no 指明菜單欄在新窗口中是否可見。outerHeight pixel value 設定窗口(包括裝飾邊框)的像素高度。outerWidth pixel value 設定窗口(包括裝飾邊框)的像素寬度。resizable yes /no 指明新窗口是否可以調整。screenX pixel value 設定新窗口離屏幕邊界的像素長度。screenY pixel value 設定新窗口離屏幕上邊界的像素長度。scrollbars yes /no 指明滾動欄在新窗口中是否可見。titlebar yes /no 指明菜單題目欄在新窗口是否可見。toolbar yes /no 指明工具欄在新窗口中是否可見。Width pixel value 設定窗口的像素寬度。z-look yes /no 在文檔中包含各個 <pplet>標簽的數組。fullscreen yes / no 打開的窗體是否進行全屏顯示left pixel value 設定新窗口距屏幕左方的距離top pixel value 設定新窗口距屏幕上方的距離例子:
<html><head><title>window.open函數 </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對象???
??? 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參數)之后的字符串.
(八).按鍵捕捉
? 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只收數字: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 屏蔽鼠標右鍵
在body標簽里加上ο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">
<!--
? //屏蔽鼠標右鍵、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("不準你使用ALT+方向鍵前進或后退網頁!");
??? event.returnvalue=false;
??? }
??? /* 注:這還不是真正地屏蔽 Alt+ 方向鍵,
??? 因為 Alt+ 方向鍵彈出警告框時,按住 Alt 鍵不放,
??? 用鼠標點掉警告框,這種屏蔽方法就失效了。以后若
??? 有哪位高手有真正屏蔽 Alt 鍵的方法,請告知。*/
? 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 加鼠標左鍵新開一網頁
? 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")
第二種方法是打開一個全屏的頁面:
? window.open("你的.asp", "", "fullscreen=yes")
*/
//-->
</script>
1.4屏蔽瀏覽器右上角“最小化”“最大化”“關閉”鍵
<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標簽里加上οnbefοreunlοad="javascript:return false"(使不能關閉窗口)
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后退按鈕
在你鏈接的時候用 <a href="javascript:location.replace(url)">
1.7屏蔽主窗口滾動條
在body標簽里加上 style="overflow-y:hidden"
1.8 屏蔽拷屏,不斷地清空剪貼板
在body標簽里加上οnlοad="setInterval('clipboardData.setData(\'Text\',\'\')',100)"
1.9 屏蔽網站的打印功能
<style>
@media print {
? * { display: none }
}
</style>
1.10 屏蔽IE6.0 圖片上自動出現的保存圖標
方法一:
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">
方法二:
<img galleryimg="no">
1.11 屏蔽頁中所有的script
<noscrript> </noscript>
2>表單提交驗證類
2.1 表單項不能為空<script language="javascript"> <!-- function CheckForm() { if (document.form.name.value.length == 0) {alert("請輸入您姓名!");document.form.name.focus();return false; }return true; } --> </script>2.2 比較兩個表單項的值是否相同<script language="javascript"> <!-- function CheckForm() if (document.form.PWD.value != document.form.PWD_Again.value) {alert("您兩次輸入的密碼不一樣!請重新輸入.");document.ADDUser.PWD.focus();return false; }return true; } --> </script>2.3 表單項只能為數字和"_",用于電話/銀行帳號驗證上,可擴展到域名注冊等<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("您的電話號碼不合法!");document.form.TEL.focus();return false; } return true; } --> </script>2.4 表單項輸入數值/長度限定<script language="javascript"> <!-- function CheckForm() {if (document.form.count.value > 100 || document.form.count.value < 1) { alert("輸入數值不能小于零大于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 中文/英文/數字/郵件地址合法性判斷<SCRIPT LANGUAGE="javascript"> <!--function isEnglish(name) //英文值檢測 { 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) //中文值檢測 { 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值檢測 { 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) //數值檢測 { 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 限定表單項不能輸入的字符<script language="javascript"> <!--function contain(str,charset)// 字符串包含測試函數 {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>補充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>■頁面設置■ <input name=Button onClick=document.all.WebBrowser.ExecWB(8,1) type=button value=頁面設置> <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()">■導入收藏■ <input type="button" name="Button" value="導入收藏夾" onClick=window.external.ImportExportFavorites(true,);>■導出收藏■ <input type="button" name="Button3" value="導出收藏夾" 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=查看源文件>■語言設置■ <INPUT name=Button οnclick="window.external.ShowBrowserUI(LanguageDialojavadetype=button value=語言設置>■前進■ <INPUT name=Submit οnclick=history.go(1) type=submit value=前進>■后退■ <INPUT name=Submit2 οnclick=history.go(-1) type=submit value=后退>按鈕10秒后才可以點擊.
<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>關于瀏覽器關閉的捕捉事件
<script language=javascript> window.onbeforeunload = function() { if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey) { window.event.returnValue = ""; //your code } } </script>鏈接超時
把如下代碼加入區域中:
解決內存泄漏的問題。
<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>轉載于:https://www.cnblogs.com/tangge/archive/2011/06/23/2087724.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的JavaScript使用技巧精萃 经典代码收藏版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 谷歌新一代AI大模型刚发布,就打算应用于
- 下一篇: 内置 VIVERSE 平台,HTC 发布