JS代码片段整理

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

点击链接发送邮件

<a href="mailto:[email protected]?subject=C&body=D" >Mail</a>  C是主题,D是内容

或用JS

dom.onclick = window.open('mailto:[email protected]')

 

获取当前触发事件的的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时则在下方


 

 

 

 

 

你可能感兴趣的:(js)