常用的一些javascript小技巧

224 阅读2分钟

常用的一些javascript小技巧

 

事件源对象 

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.οnmοusedοwn=scrollwindow;   


元素 

document.窗体.elements[索引]  

 

对象绑定事件 


插件数目

  navigator.plugins   


取变量类型

  typeof($js_libpath) == "undefined"   


下拉框

  下拉框.options[索引]  下拉框.options.length   


查找对象 

document.getElementsByName("r1");  document.getElementById(id);   



定时 


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=c98.yeah.net">  

 
简单邮件

  <a href="mailto:aaa@bbb.com?subject=ccc&body=xxxyyy">   


快速转到位置 

obj.scrollIntoView(true)  

 

  <a name="first">  <a href="#first">anchors   


网页传递参数

  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>   


获得style内容

  obj.style.cssText   


HTML标签

  document.documentElement.innerHTML   


第一个style标签

  document.styleSheets[0]   


style标签里的第一个样式

  document.styleSheets[0].rules[0]   


防止点击空链接时,页面往往重置到页首端。

  <a href="javascript:function()">word   


上一网页源

  asp:  request.servervariables("HTTP_REFERER")  javascript:  document.referrer   


释放内存

  CollectGarbage();  


禁止右键 

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


禁止保存 

<iframe src="*.htm">  


禁止选取

<body οncοntextmenu="return false" οndragstart="return false" onselectstart ="return false"  οnselect="document.selection.empty)" οncοpy="document.selection.empty)" onbeforecopy= "return false"οnmοuseup="document.selection.empty()>   


禁止粘贴

  <input type=text οnpaste="return false">   


地址栏图标 

<link rel="Shortcut Icon" href="favicon.ico"> favicon.ico 名字最好不变16*16的16色,放虚拟目录根目录下  收藏栏图标  <link rel="Bookmark" href="favicon.ico">   



查看源码


关闭输入法

  <input style="ime-mode:disabled">   


自动全选

  <input type=text name=text1 value="123" οnfοcus="this.select()">   


ENTER键可以让光标移到下一个输入框

  <input οnkeydοwn="if(event.keyCode==13)event.keyCode=9">  


文本框的默认值

  <input type=text value="123" οnfοcus="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)">   


获取选中内容 

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


自动完成功能

  <input  type=text  autocomplete=on>打开该功能   <input  type=text  autocomplete=off>关闭该功能   


窗口最大化 

<body οnlοad="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对":"、"/"、";" 和 "?"也编码   



表格行指示


//各种尺寸 

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; 

 

//不缓存 

<META HTTP-EQUIV="pragma" CONTENT="no-cache">  <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">  <META HTTP-EQUIV="expires" CONTENT="0">   


//正则匹配 

匹配中文字符的正则表达式: [\u4e00-\u9fa5]  匹配双字节字符(包括汉字在内):[^\x00-\xff]  匹配空行的正则表达式:\n[\s| ]\r  匹配HTML标记的正则表达式:/<(.)>.<\/\1>|<(.) \/>/   匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)  匹配Email地址的正则表达式:\w+([-+.]\w+)@\w+([-.]\w+)\.\w+([-.]\w+)*  匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?   


以下是例子: 
利用正则表达式限制网页表单里的文本框输入内容:


//消除图像工具栏
[/html]
<IMG SRC="mypicture.jpg" HEIGHT="100px" WIDTH="100px" GALLERYIMG="false">  
or 
<head> 
<meta http-equiv="imagetoolbar" content="no"> 
</head> 
[/html]
//取得控件得绝对位置(1)
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
//获得控件的绝对位置(2) 

oRect = obj.getBoundingClientRect();  oRect.left  oRect.  


//打印分页

<p  style="page-break-after:always">page1

    <p  style="page-break-after:always">page2

     


//设置打印
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
//自带的打印预览 

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) 关闭窗体无提示   <style media=print>   .Noprint{display:none;}   .PageNext{page-break-after: always;}      <object  id="WebBrowser"  width=0  height=0  classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">               <center class="Noprint" >  <input type=button value=打印 οnclick=document.all.WebBrowser.ExecWB(6,1)>   <input type=button value=直接打印 οnclick=document.all.WebBrowser.ExecWB(6,6)>   <input type=button value=页面设置 οnclick=document.all.WebBrowser.ExecWB(8,1)>  

  

 <input type=button value=打印预览 οnclick=document.all.WebBrowser.ExecWB(7,1)>    



//去掉打印时的页眉页脚 
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
//无模式的提示框 

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



//下载文件 

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(true);     }     else      {      return(false);     }    }    else     {     return(false);    }   }  }  

 
//检查网页是否存在 

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 true;    }    xmlhttp = null;    return false;  }  



//禁止FSO 

1.注销组件  regsvr32 /u scrrun.dll  2.修改PROGID  HKEY_CLASSES_ROOT\Scripting.FileSystemObject  Scripting.FileSystemObject  3.对于使用object的用户,修改HKEY_CLASSES_ROOT\Scripting.