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