摘要: 漫谈js自定义事件、DOM/伪DOM自定义事件byzhangxinxufromhttp://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=2330一、说明、引言我JS还是比较薄弱的,本文的内容属于边学边想边折腾的碎碎念,可能没什么条理,可能有表述不准确的地方,可能内容比较拗口生僻。如果您时间紧迫,或者JS造诣已深,至此您就可以点击右侧广告(木有?则RSS或盗版)然后撤了。事件是个大课题,真要从断奶开始讲起的话,可以写个12期的连载。关于JS事件的文章(类似DOM/BOM事件模型,IE与其他浏览器事件差异,DOM1/D 阅读全文
posted @ 2012-11-04 14:33 LukeLin 阅读(280) 评论(0) 推荐(0) 编辑
摘要: (function ($) { //复选框全选 $.fn.checkAll = function (options) { var defaults = { chName:"checkName", //复选框name属性 callBack:null //回调函数 }, $obj = $(this), //引用对象 $items = $("input:checkbox[name=" + options.chName + "]"), //所有name匹配的复选框 checkedItem = 0;... 阅读全文
posted @ 2012-11-04 14:30 LukeLin 阅读(230) 评论(0) 推荐(0) 编辑
摘要: //对非DOM元素实现自定义事件 function CusEventTarget() { //存储事件处理程序的属性对象 this.handlers = {}; } CusEventTarget.prototype = { //重新将constructor指向EventTarget构造函数 constructor:CusEventTarget, /** * 注册给定类型时间的事件处理程序 * @param type 自定义的事件类型 * @param hand... 阅读全文
posted @ 2012-11-04 14:24 LukeLin 阅读(473) 评论(0) 推荐(0) 编辑
摘要: var xhr = createXHR();//启动请求/** * 参数1:要发送的请求类型 * 参数2:请求的url * 参数3:是否异步发送请求的布尔值 */xhr.open("get", "example.php", false);//发送请求/** * 参数:作为请求主体发送的数据,不需要是必须传入null */xhr.send(null);//收到响应后,相应的数据会自动填充xhr的属性/** * responseText:作为响应主体被返回的文本 * responseXML:如果响应的类型是“text/xml”或“application/xm 阅读全文
posted @ 2012-11-04 14:22 LukeLin 阅读(278) 评论(0) 推荐(0) 编辑
摘要: function serialize(form) { var parts = []; var field = null; for (var i = 0, len = form.elements.length; i < len; i++) { field = form.elements[i]; switch (field.type) { case "select-one": case "select-multiple": ... 阅读全文
posted @ 2012-11-04 14:21 LukeLin 阅读(192) 评论(0) 推荐(0) 编辑
摘要: //将NodeList转换为数组 function convertToArray(nodes) { var array = null; try { array = Array.prototype.slice.call(nodes, 0); //for standard DOM browser } catch (ex) { //for IE DOM based in COM array = []; for (var i = 0, len = nodes.len... 阅读全文
posted @ 2012-11-04 14:18 LukeLin 阅读(255) 评论(0) 推荐(0) 编辑
摘要: //取得页面视口大小 //for others var pageWidth = window.innerWidth, pageHeight = window.innerHeight; //for IE if (typeof pageWidth != "number") { if (document.compatMode == "CSS1Compat") { // for standard compatMode pageWidth = document.documentElement.clie... 阅读全文
posted @ 2012-11-04 14:17 LukeLin 阅读(263) 评论(0) 推荐(0) 编辑
摘要: /*********匿名函数*************///函数声明会在代码执行以前被加载到作用域中,而函数表达式是在代码执行到那一行的时候才会有定义//函数声明function functionName(arg0, arg1, arg2) { //函数体}//函数表达式var functionName = function (arg0, atg1, arg2) { //函数体};//定义有效匿名函数的方式,将函数作为参数传入另一个函数,或者从一个函数中返回另一个函数function createComparisonFunction(propertyName) { return func... 阅读全文
posted @ 2012-11-04 14:15 LukeLin 阅读(337) 评论(0) 推荐(0) 编辑
摘要: //创建自定义对象的最简单的方式//缺点:会产生大量重复的代码var person = new Object();person.name = "Nicholas";person.age = 29;person.job = "Software Engineer";person.sayName = function () { alert(this.name);};//工厂模式//缺点:工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题//(即怎样知道一个对象的类型)function createPerson(name, age, job) 阅读全文
posted @ 2012-11-04 14:14 LukeLin 阅读(248) 评论(0) 推荐(0) 编辑
摘要: var event,event1; var btn=document.getElementById("myBtn"); btn.onclick=function(){ document.body.style.background="black"; } if(client.browser.safari && client.browser.safari==2 ){ event=document.createEvent("UIEvent"); event.initEvent("click",true,tr 阅读全文
posted @ 2012-11-04 14:10 LukeLin 阅读(329) 评论(0) 推荐(0) 编辑
摘要: //事件var EventUtil = { //添加事件 addHandler:function (element, type, handler) { //element:DOM对象,type:事件类型,handler:事件函数 if (element.addEventListener) { //是否存在DOM2级方法 element.addEventListener(type, handler, false); } else if (element.attachEvent) { /... 阅读全文
posted @ 2012-11-04 14:08 LukeLin 阅读(250) 评论(0) 推荐(0) 编辑
摘要: var client = function () { //呈现引擎 var engine = { ie:0, gecko:0, webkit:0, khtml:0, opera:0, ver:null //具体版本号 }; //浏览器 var browser = { //主要浏览器 ie:0, firefox:0, kong:0, opera:0, chrome:0, safari:0, ver:null //具... 阅读全文
posted @ 2012-11-04 14:06 LukeLin 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 一. 入门级 :就是有一定的基础(比如最常见的HTML标签及其属性、事件、方法;最常见的CSS属性;基础的JavaScript编程能力),能够完成一些简单的WEB前端需求。 推荐:《JavaScript dom 编程艺术》 理由:此书绝对是入门的好书,本人也是在接触JS一段时间后才看的这本书。此书从JS的历史 - JS基础语法知识 - DOM介绍和简单的使用。现在这本书已经出了第二版,需要的朋友直接第二版就行。 评价:简洁,实用,详细,易懂,书不厚,相信很快就能看完。 当然,作为入门书的话《JavaScript权威指南》也非常强大(这名字可不是白起),其实说起来也惭愧,本人至今都没有买... 阅读全文
posted @ 2012-11-04 14:04 LukeLin 阅读(298) 评论(0) 推荐(0) 编辑