JavaScript 小技巧
2016-03-14 00:00
513 查看
摘要: 函数节流, StyleSheet, 表单提交, 富文本编辑器, H5数据库
若当前环境支持DOM2.0,可以用如下代码获取StyleSheet文件
2. 表单提交时如何不提交指定元素: 使用元素的 disabled 属性(此方法同时在表单验证中有效)
3. 富文本编辑器实现的基本原理
4. HTML5 可以使用 PostMessage() 方法进行跨文档消息传递
5. 定义一个防篡改对象: 使用freeze()
6. HTML5 拥有自己的数据库 IndexedDB
7. 函数节流. 当窗口大小发生改变时,事件会被执行很多次,但是我们只需要调用一次函数。 如果是目的是为了减少函数调用的次数,那么我们就可以使用函数节流的写法。
若当前环境支持DOM2.0,可以用如下代码获取StyleSheet文件
var supportDOM2StyleSheets = document.implementation.hasFeature("StyleSheets", "2.0"); if(supportDOM2StyleSheets){ var sheet = null; for(var i=0; i<document.styleSheets.length; i++){ sheet = document.styleSheets[i]; console.log(sheet.href); } }
2. 表单提交时如何不提交指定元素: 使用元素的 disabled 属性(此方法同时在表单验证中有效)
//HTML结构 <body> <form method="post" action="submit"> <input type="text" id="input1" name="input1" value="123" /> <input type="text" id="input2" name="input2" value="234"/> </form> </body> //对比组: 提交所有的数据 console.log($("form").serialize());//input1=123&input2=234 //使用disabled属性禁用元素 $("#input1").attr("disabled", "disabled"); console.log($("form").serialize());//input2=234
3. 富文本编辑器实现的基本原理
//1. 创建一个 iframe 选区 <body > <iframe name="richedit" style="height: 100px; width: 100px;" src="blank.html"></iframe> </body>
//2. 设置 iframe 的 designMode = "on" frames["richedit"].document.designMode = "on";
4. HTML5 可以使用 PostMessage() 方法进行跨文档消息传递
5. 定义一个防篡改对象: 使用freeze()
var obj = { name : 'name' } Object.freeze(obj); obj.name = "halo"; console.log(obj.name);//name
6. HTML5 拥有自己的数据库 IndexedDB
7. 函数节流. 当窗口大小发生改变时,事件会被执行很多次,但是我们只需要调用一次函数。 如果是目的是为了减少函数调用的次数,那么我们就可以使用函数节流的写法。
//定义一个节流函数 function lessCost(fn, delay){ var mytimer; return function(){ var context = this; var arg = arguments; clearTimeout(mytimer); mytimer = setTimeout(function(){ fn.apply(context, arg); }, delay); } } //获取节流函数的引用 var lessCostRef = lessCost(function(){ console.log("resized"); }, 500); //事件发生时执行该函数 $(window).on("resize", function(){ lessCostRef(); });//500ms内,函数只被执行了一次
相关文章推荐
- JS处理事件小技巧
- JavaScript基础篇(三)— — DOM事件揭秘
- 浅谈JS代码和OC代码的交互
- (转)js闭包初入门
- JavaScript基础篇(二)— — DOM事件基础
- html JS
- JSP的一些笔记
- 配置iis支持.json格式的文件
- js 中对象
- JavaScript高级程序设计(第三版)学习笔记13、14章
- 浏览器兼容处理(HTML条件注释、CSSHack和JS识别)
- 6.1 Javascript:事件与回调函数
- js scrollTop, 滚动条操作
- JavaScript中的对象类型详解
- JSP 的基本原理
- javascript
- vs2010中编译配置jsoncpp
- 小白级小菜鸟的js基础总结(一)——基础语法
- JavaScript去重的方法
- 学习Javascript闭包(Closure)所感