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时则在下方


 

 

 

 

 

posted @ 2012-09-27 02:24  TiestoRay  阅读(521)  评论(0编辑  收藏  举报