遵守前面的写好的规则,把全局变量都变成属性! 然后就是把函数都写在原型上面: 复制代码 代码如下: Drag.prototype.init = function (){ }; Drag.prototype.mouseDown = function (){ }; Drag.prototype.mouseMove = function (){ }; Drag.prototype.mouseUp = function (){ };
先来看看init函数: 复制代码 代码如下: Drag.prototype.init = function (){ // this指针 var me = this; this.obj.onmousedown = function (e){ var e = e || event; me.mouseDown(e); // 阻止默认事件 return false; }; };
我们使用me变量来保存了this指针,为了后面的代码不出现this指向的错误 接着是mouseDown函数: 复制代码 代码如下: Drag.prototype.mouseDown = function (e){ // this指针 var me = this; this.disX = e.clientX - this.obj.offsetLeft; this.disY = e.clientY - this.obj.offsetTop; document.onmousemove = function (e){ var e = e || window.event; me.mouseMove(e); }; document.onmouseup = function (){ me.mouseUp(); } };