針對(duì)JavaScript的常用事件、對(duì)象捕獲和使用技巧

字號(hào):


    事件源對(duì)象
    event.srcElement.tagName
    event.srcElement.type
    捕獲釋放
    event.srcElement.setCapture();
    event.srcElement.releaseCapture();
    事件按鍵
    event.keyCode
    event.shiftKey
    event.altKey
    event.ctrlKey
    事件返回值
    event.returnValue
    鼠標(biāo)位置
    event.x
    event.y
    窗體活動(dòng)元素
    document.activeElement
    綁定事件
    document.captureEvents(Event.KEYDOWN);
    訪(fǎng)問(wèn)窗體元素
    document.all("txt").focus();
    document.all("txt").select();
    窗體命令
    document.execCommand
    窗體COOKIE
    document.cookie
    菜單事件
    document.oncontextmenu
    創(chuàng)建元素
    document.createElement("SPAN");
    根據(jù)鼠標(biāo)獲得元素:
    document.elementFromPoint(event.x,event.y).tagName=="TD
    document.elementFromPoint(event.x,event.y).appendChild(ms)
    窗體圖片
    document.images[索引]
    窗體事件綁定
    document.onmousedown=scrollwindow;
    元素
    document.窗體.elements[索引]
    對(duì)象綁定事件
    document.all.xxx.detachEvent('onclick',a);
    插件數(shù)目
    navigator.plugins
    取變量類(lèi)型
    typeof($js_libpath) == "undefined"
    下拉框
    下拉框.options[索引]
    下拉框.options.length
    查找對(duì)象
    document.getElementsByName("r1");
    document.getElementById(id);
    定時(shí)
    timer=setInterval('scrollwindow()',delay);
    clearInterval(timer);
    UNCODE編碼
    escape() ,unescape
    父對(duì)象
    obj.parentElement(dhtml)
    obj.parentNode(dom)
    交換表的行
    TableID.moveRow(2,1)
    替換CSS
    document.all.csss.href = "a.css";
    并排顯示
    display:inline
    隱藏焦點(diǎn)
    hidefocus=true
    根據(jù)寬度換行
    style="word-break:break-all"
    自動(dòng)刷新
    <meta HTTP-EQUIV="refresh" CONTENT="8;URL=">
    簡(jiǎn)單郵件
    <a href="">
    快速轉(zhuǎn)到位置
    obj.scrollIntoView(true)
    錨
    <a name="first">
    <a href="#first">anchors</a>
    網(wǎng)頁(yè)傳遞參數(shù)
    location.search();
    可編輯
    obj.contenteditable=true
    執(zhí)行菜單命令
    obj.execCommand
    雙字節(jié)字符
    /[^\x00-\xff]/
    漢字
    /[\u4e00-\u9fa5]/
    讓英文字符串超出表格寬度自動(dòng)換行
    word-wrap: break-word; word-break: break-all;
    透明背景
    <IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe>
    獲得style內(nèi)容
    obj.style.cssText
    HTML標(biāo)簽
    document.documentElement.innerHTML
    第一個(gè)style標(biāo)簽
    document.styleSheets[0]
    style標(biāo)簽里的第一個(gè)樣式
    document.styleSheets[0].rules[0]
    防止點(diǎn)擊空鏈接時(shí),頁(yè)面往往重置到頁(yè)首端。
    <a href="javascript:function()">word</a>
    上一網(wǎng)頁(yè)源
    asp:
    request.servervariables("HTTP_REFERER")
    javascript:
    document.referrer
    釋放內(nèi)存
    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">
    地址欄圖標(biāo)
    <link rel="Shortcut Icon" href="favicon.ico">
    favicon.ico 名字最好不變16*16的16色,放虛擬目錄根目錄下
    收藏欄圖標(biāo)
    <link rel="Bookmark" href="favicon.ico">
    查看源碼
    <input type=button value=查看網(wǎng)頁(yè)源代碼 onclick="window.location = 'view-source:'+ ''">
    關(guān)閉輸入法
    <input>
    自動(dòng)全選
    <input type=text name=text1 value="123" onfocus="this.select()">
    ENTER鍵可以讓光標(biāo)移到下一個(gè)輸入框
    <input onkeydown="if(event.keyCode==13)event.keyCode=9">
    文本框的默認(rèn)值
    <input type=text value="123" onfocus="alert(this.defaultValue)">
    title換行
    obj.title = "123 sdfs "
    獲得時(shí)間所代表的微秒
    var n1 = new Date("2004-10-10".replace(/-/g, "\/")).getTime()
    窗口是否關(guān)閉
    win.closed
    checkbox扁平
    <input type=checkbox><br>
    獲取選中內(nèi)容
    document.selection.createRange().duplicate().text
    自動(dòng)完成功能
    <input type=text autocomplete=on>打開(kāi)該功能
    <input type=text autocomplete=off>關(guān)閉該功能
    窗口最大化
    <body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)">
    無(wú)關(guān)閉按鈕IE
    window.open("aa.htm", "meizz", "fullscreen=7");
    統(tǒng)一編碼/解碼
    alert(decodeURIComponent(encodeURIComponent(" hehe")))
    encodeURIComponent對(duì)":"、"/"、";" 和 "?"也編碼
    表格行指示
    <tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'">
    //各種尺寸
    s += "\r\n網(wǎng)頁(yè)可見(jiàn)區(qū)域?qū)挘?+ document.body.clientWidth;
    s += "\r\n網(wǎng)頁(yè)可見(jiàn)區(qū)域高:"+ document.body.clientHeight;
    s += "\r\n網(wǎng)頁(yè)可見(jiàn)區(qū)域高:"+ document.body.offsetWeight +" (包括邊線(xiàn)的寬)";
    s += "\r\n網(wǎng)頁(yè)可見(jiàn)區(qū)域高:"+ document.body.offsetHeight +" (包括邊線(xiàn)的寬)";
    s += "\r\n網(wǎng)頁(yè)正文全文寬:"+ document.body.scrollWidth;
    s += "\r\n網(wǎng)頁(yè)正文全文高:"+ document.body.scrollHeight;
    s += "\r\n網(wǎng)頁(yè)被卷去的高:"+ document.body.scrollTop;
    s += "\r\n網(wǎng)頁(yè)被卷去的左:"+ document.body.scrollLeft;
    s += "\r\n網(wǎng)頁(yè)正文部分上:"+ window.screenTop;
    s += "\r\n網(wǎng)頁(yè)正文部分左:"+ window.screenLeft;
    s += "\r\n屏幕分辨率的高:"+ window.screen.height;
    s += "\r\n屏幕分辨率的寬:"+ window.screen.width;
    s += "\r\n屏幕可用工作區(qū)高度:"+ window.screen.availHeight;
    s += "\r\n屏幕可用工作區(qū)寬度:"+ window.screen.availWidth;
    //過(guò)濾數(shù)字
    <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=導(dǎo)入收藏夾 onclick="window.external.ImportExportFavorites(true,'');">
    <input type=button value=導(dǎo)出收藏夾 onclick="window.external.ImportExportFavorites(false,'');">
    <input type=button value=整理收藏夾 onclick="window.external.ShowBrowserUI('OrganizeFavorites', null)">
    <input type=button value=語(yǔ)言設(shè)置 onclick="window.external.ShowBrowserUI('LanguageDialog', null)">
    <input type=button value=加入收藏夾 onclick="window.external.AddFavorite('', 'google')">
    <input type=button value=加入到頻道 onclick="window.external.addChannel('')">
    <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">
    //正則匹配
    匹配中文字符的正則表達(dá)式: [\u4e00-\u9fa5]
    匹配雙字節(jié)字符(包括漢字在內(nèi)):[^\x00-\xff]
    匹配空行的正則表達(dá)式:\n[\s| ]*\r
    匹配HTML標(biāo)記的正則表達(dá)式:/<(.*)>.*<\/\1>|<(.*) \/>/
    匹配首尾空格的正則表達(dá)式:(^\s*)|(\s*$)(像vbscript那樣的trim函數(shù))
    匹配Email地址的正則表達(dá)式:\w+([-+.]
    匹配網(wǎng)址URL的正則表達(dá)式:- ./?%&=]*)?
    以下是例子:
    利用正則表達(dá)式限制網(wǎng)頁(yè)表單里的文本框輸入內(nèi)容:
    用正則表達(dá)式限制只能輸入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
    1.用正則表達(dá)式限制只能輸入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
    2.用正則表達(dá)式限制只能輸入數(shù)字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
    3.用正則表達(dá)式限制只能輸入數(shù)字和英文: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>
    //無(wú)提示關(guān)閉
    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()