zoukankan      html  css  js  c++  java
  • 常用的一些javascript小技巧

    常用的一些javascript小技巧

    [作者:oror,from蓝色理想]

    事件源对象 


    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[索引]

     

    对象绑定事件 


    插件数目

     
    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=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 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)"> 


    获取选中内容 


    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对":"、"/"、";" 和 "?"也编码 



    表格行指示


    //各种尺寸 


    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)
    {
    runEx('temp91492')
    }" type=button> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
    //获得控件的绝对位置(2) 


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


    //打印分页


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


    //设置打印
    {
    runEx('temp1901')
    }" type=button> [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;}<!--控制分页-->  
    </style>  
    <object  id="WebBrowser"  width=0  height=0  classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2">     
    </object>     
      
    <center class="Noprint" > 
    <input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)>  
    <input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)>  
    <input type=button value=页面设置 onclick=document.all.WebBrowser.ExecWB(8,1)>  
    </p>  
    <p> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)>  
    </center>



    //去掉打印时的页眉页脚 
    {
    runEx('temp79875')
    }" type=button> [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. 

  • 相关阅读:
    python实现梯度下降法
    sklearn评估模型的方法
    sklearn进行拟合
    装饰器原理-代码解释
    多进程+协程 处理IO问题
    mongodb增删改查
    关于Redis在Linux手动安装配置
    MongoDB安装配置及使用
    键盘没有小键盘怎么办?怎么打开屏幕软键盘?
    WebService中WSDL和WADL(转)
  • 原文地址:https://www.cnblogs.com/happyday56/p/946134.html
Copyright © 2011-2022 走看看