zoukankan      html  css  js  c++  java
  • JS代码片段整理

     Window.external.xxx(params)  系统文件操作命令(控制浏览器窗口行为) 

    点击链接发送邮件

    <a href="mailto:A@B.com?subject=C&body=D" >Mail</a>  C是主题,D是内容
    或用JS
    dom.onclick = window.open('mailto:commit_admin@trial-net.co.jp')

    获取当前触发事件的的DOM

    event.srcElement;
    event.target;//IE无效
    event.CurrentTarget

    焦点管理

    //文档加载完成时,document.activeElement保存的是document.body元素的引用
    document.activeElement;//当前DOM中获得焦点元素 document.hasFocus();//判断文档是否获得焦点

    <a href="XX.html" target="A" id="obj"/> <iframe name="A" />  当点击obj后,链接内容将显示到A中

    获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置。

    obj.getBoundingClientRect();//使用这个方法获取位置的好处是,不需要迭代的求父节点的相对位置,直接就可以获得相对浏览器的位置。

    其他

    obj.scrollIntoView(true)//快速定位到obj位置
    obj.execCommand(params)//执行菜单命令
    allowtransparency=true//透明背景
    obj.style.cssText//获得style内容
    CollectGarbage()//释放内存(限IE)
    style="position:absolute;clip:rect(1px 5px 5px 1px)"//裁剪
    document.selection.createRange().duplicate().text()//获取选中内容
    
    页面进入和退出特效的滤镜(通过更改x,y可获得23种效果)
      <meta http-equiv="Page-Enter" content="revealTrans(duration=x,transition=y)" />
      <meta http-equiv="Page-Exit" content="revealTrans(duration=x,transition=y)" />

    表单默认值属性:defaultValue/defaultChecked

    input:text 有 defaultValue属性(只读) IE/Chrome
    input:checkbox 有defaultChecked 和 defaultValue 属性(只读)
    IE/Chrome
    input:redio 有defaultChecked 和 defaultValue 属性(只读) IE/Chrome

    简单实现JSON对象深复制

    var a = {A:4}
    var b = JSON.parse(JSON.stringify(a))

    富文本编辑

    Dom元素有个contenteditable属性 true的时候可以输入内容并可以添加样式,例如Ctrl+B可以将选中文本变成黑体,Ctrl+I将文本变成斜体之类的。如果将其设置为false,则关闭可编辑状态,但内容还在。

    <div contenteditable id="DD"></div>
    <script>
        DD.contentEditable = true;//打开可编辑状态
        DD.contentEditable = false;//关闭可编辑状态
    </script>

     字符串去空格

    String.prototype.trim = function () {
        return this.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
    }

    滚动滚轮缩放页面

    $.fn.Zoom=function(ops) {
        var _op = {precision:12};
        var _self = this[0];
        ops = $.extend(_op,ops);
        this.on("mousewheel",function(){
            var zoom = parseInt(_self.style.zoom, 10) || 100;
            zoom += event.wheelDelta / ops.precision; //可适合修改
            if (zoom > 0)
                _self.style.zoom = zoom + '%';
        });
    }
    $(document.body).Zoom();

    克隆对象

    function clone(myObj) {
        if (typeof (myObj) != 'object') return myObj;
        if (myObj == null) return myObj;
    
        var myNewObj = new Object();
    
        for (var i in myObj)
            myNewObj[i] = clone(myObj[i]);
    
        return myNewObj;
    }

    快速转到Dom

    obj.scrollIntoView(true)

    后面的参数是true时,obj会在浏览器可见区域上方出现,false时则在下方


  • 相关阅读:
    python实现git操作
    CentOS 安装R包 报错:internet routines cannot be loaded ,如何解决
    CentOS 6.8上安装指定版本的注释软件 VEP,release 93.4
    Anaconda3安装后在Pycharm中报错:ImportError: DLL load failed: 找不到指定的模块
    CentOS编译fastp 0.19.4 时报错/usr/bin/ld: cannot find -lz
    推荐一款非常好用的在线python编辑器——Colaboratory
    mac如何用quick look预览多个文件或者图片
    Pileup 格式详细说明
    CentOS 7 上安装 Django 2.2.4,解决报错:No module named ‘_sqlite3′
    Message: 'chromedriver' executable needs to be available in the path.
  • 原文地址:https://www.cnblogs.com/TiestoRay/p/2680650.html
Copyright © 2011-2022 走看看