摘要:
在为公司编写一个jquery表格插件,插件实现的功能是:1、静态分页数据2、过滤数据3、按每列数据格式排序4、鼠标可动态拖动每列的宽度5、表头固定其它的功能倒容易实现,拖动以动态调整每列宽度就纠结了很久,拖动功能其实也容易实现。关键是拖动精确度一直不对。查不出原因。以为是算错了。纠结了很久,偶尔发现通过jquery直接css('width',xxx)这样的方法设置列宽度即,设置style="width:xxxpx"与直接在td上设置width="xxpx"是有区别的。解决的方法是直接attr('width',xxpx);代 阅读全文
摘要:
function addEvent(element, type, handler) { //为每一个事件处理函数分派一个唯一的ID if (!handler.$$guid) handler.$$guid = addEvent.guid++; //为元素的事件类型创建一个哈希表 if (!element.events) element.events = {}; //为每一个"元素/事件"对创建一个事件处理程序的哈希表 var handlers = element.events[type]; if (!handlers) { handlers... 阅读全文
摘要:
创建绑定this上下文环境的并且可重用的控制器对象,//this使用局部上下文基础模型(function($, exports){ var mod = function(includes){ if(includes) this.include(includes); }; mod.fn = mod.prototype; //将函数上下文this绑定到mod上 mod.fn.proxy = function(func){ return $.proxy(func, this); }; //documentContent加载完后执行相应的func回调 mod.fn.load = function(.. 阅读全文
摘要:
var exports = this;(function($){ var mod = {}; //返回Controller模型 mod.create = function(includes){ var result = function(){ this.init.apply(this, arguments); }; result.fn = result.prototype; result.fn.init = function(){}; result.proxy = function(func){ return $.proxy(func, this); }; resul... 阅读全文
摘要:
读书笔记:基于mvc的javascript web富媒体应用开发,模型和数据Model类//新建类的函数Object.create,ECMAScript5已经实现if(typeof Object.create !== 'function'){ Object.create = function(o){ function F(){}; F.prototype = o; return new F(); };}//模型var Model = { inherited: function(){}, created: function(){}, prototype:{//用于模型实例继承用 阅读全文
摘要:
javascript的this关键字很特别和actionscript2.0时期this指向是一样的,如果你以前是个actionscript2.0的coder那肯定是往事不堪回首。actionscript3.0以后this关键字就是指向类本身,而javascript至今还是未实现this始终指向类本身的功能。新版本的ECMAScript5中已经加入了bind函数以控制this关键字的绑定,但是在这之前最好还是自己实现bind函数,通过判断Function.prototype.bind是否支持来实现自己的bind函数,如果已经实现则使用浏览器原生支持的方法。1、简易的绑定this到某对象上if(! 阅读全文