javascript小技巧1

來源:互聯網
上載者:User

事件來源對象
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"
自動重新整理
<meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://c98.yeah.net">
簡單郵件
<a href="mailto:aaa@bbb.com?subject=ccc&body=xxxyyy">
快速轉到位置
obj.scrollIntoView(true)

<a name="first">
<a href="#first">anchors</a>
網頁傳遞參數
location.search();
可編輯
obj.contenteditable=true
執行功能表命令
obj.execCommand
雙位元組字元
/[^\x00-\xff]/
漢字
/[\u4e00-\u9fa5]/
讓英文字串超出表格寬度自動換行
word-wrap: break-word; word-break: break-all;
透明背景
<IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe>
獲得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>
禁止選取<body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()>
禁止粘貼
<input type=text onpaste="return false">
地址欄表徵圖
<link rel="Shortcut Icon" href="favicon.ico">
favicon.ico 名字最好不變16*16的16色,放虛擬目錄根目錄下
收藏欄表徵圖
<link rel="Bookmark" href="favicon.ico">
查看源碼
<input type=button value=查看網頁原始碼 onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'">
關閉IME
<input style="ime-mode:disabled">
自動全選
<input type=text name=text1 value="123" onfocus="this.select()">
ENTER鍵可以讓游標移到下一個輸入框
<input onkeydown="if(event.keyCode==13)event.keyCode=9">
文字框的預設值
<input type=text value="123" onfocus="alert(this.defaultValue)">
title換行
obj.title = "123 sdfs "
獲得時間所代表的微秒
var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()
視窗是否關閉
win.closed
checkbox扁平
<input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"><br>
擷取選中內容
document.selection.createRange().duplicate().text
自動完成功能
<input type=text autocomplete=on>開啟該功能
<input type=text autocomplete=off>關閉該功能
視窗最大化
<body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)">
無關閉按鈕IE
window.open("aa.htm", "meizz", "fullscreen=7");
統一編碼/解碼
alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe")))
encodeURIComponent對":"、"/"、";" 和 "?"也編碼
表格行指示
<tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'">
各種尺寸
複製代碼 代碼如下:
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;

 

 

 

 

 

過濾數字
複製代碼 代碼如下:
<input type=text onkeypress="return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)" onpaste="return !clipboardData.getData('text').match(/\D/)" ondragenter="return false">

//特殊用途
複製代碼 代碼如下:
<input type=button value=匯入收藏夾 onclick="window.external.ImportExportFavorites(true,'http://localhost');">
<input type=button value=匯出收藏夾 onclick="window.external.ImportExportFavorites(false,'http://localhost');">
<input type=button value=整理收藏夾 onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)">
<input type=button value=語言設定 onclick="window.external.ShowBrowserUI('LanguageDialog', null)">
<input type=button value=加入收藏夾 onclick="window.external.AddFavorite('http://www.google.com/', 'google')">
<input type=button value=加入到頻道 onclick="window.external.addChannel('http://www.google.com/')">
<input type=button value=加入到頻道 onclick="window.external.showBrowserUI('PrivacySettings',null)">

不緩衝
複製代碼 代碼如下:
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="0">

正則匹配
複製代碼 代碼如下:
匹配中文字元的Regex: [\u4e00-\u9fa5]
匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
匹配空行的Regex:\n[\s| ]*\r
匹配HTML標記的Regex:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的Regex:(^\s*)|(\s*$)(像vbscript那樣的trim函數)
匹配Email地址的Regex:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配網址URL的Regex:http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?
以下是例子:
利用Regex限制網頁表單裡的文字框輸入內容:
用Regex限制只能輸入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
1.用Regex限制只能輸入全形字元: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
2.用Regex限制只能輸入數字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
3.用Regex限制只能輸入數字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

消除映像工具列
複製代碼 代碼如下:
<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false"> or
<head>
<meta http-equiv="imagetoolbar" content="no">
</head>

 

 

 

 

無提示關閉
複製代碼 代碼如下:
function Close()
{
var ua=navigator.userAgent
var ie=navigator.appName=="Microsoft Internet Explorer"?true:false
if(ie)
{
var IEversion=parseFloat(ua.substring(ua.indexOf("MSIE ")+5,ua.indexOf(";",ua.indexOf("MSIE "))))
if(IEversion< 5.5)
{
var str = '<object id=noTipClose classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">'
str += '<param name="Command" value="Close"></object>';
document.body.insertAdjacentHTML("beforeEnd", str);
document.all.noTipClose.Click();
}
else
{
window.opener =null;
window.close();
}
}
else
{
window.close()
}
}

取得控制項得絕對位置(1)
<script language="javascript">  
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 
}  
</script>

  [Ctrl+A 全選 提示:你可先修改部分代碼,再按運行]
獲得控制項的絕對位置(2)
複製代碼 代碼如下:
oRect = obj.getBoundingClientRect();
oRect.left
oRect.

游標停在文字最後
<script language="javascript"> 
function cc() 

 var e = event.srcElement; 
 var r =e.createTextRange(); 
 r.moveStart('character',e.value.length); 
 r.collapse(true); 
 r.select(); 

</script> 
<input type=text name=text1 value="123" onfocus="cc()">

  [Ctrl+A 全選 提示:你可先修改部分代碼,再按運行]
詳細出處參考:http://www.jb51.net/article/583_3.htm

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.