87,992
社区成员
发帖
与我相关
我的任务
分享
Dragable.prototype = {
initialize : function(obj) {
if(typeof obj == "undefined" || null == obj || "DIV" != obj.tagName){
alert("暂时只能对div进行拖动,程序退出。。。");
return false;
}
this.setObject(obj);
this.setBrowser(new Browser());
var drag = this;
addEvent(obj,'mousedown',
function(ovent) {
ovent = ovent || window.event; // 放这里才能获得event
drag.start(obj, ovent);
}
);
// obj.onmousedown = function(ovent) {
// ovent = ovent || window.event; // 放这里才能获得event
// drag.start(obj, ovent);
// }
},
start : function(obj, evt) {
// evt = event || window.event; // 如果放这里就无法获得event
_drag_cache._mx = evt.clientX; // 鼠标位置
_drag_cache._my = evt.clientY;
_drag_cache._lx = this.getBrowser().getLeft(obj); // 层位置
_drag_cache._ly = this.getBrowser().getTop(obj);
this.highlight(obj); //高亮拖动物体
var drag = this;
obj.onmousemove = function(ovent) {
ovent = ovent || window.event;
drag.dragging(obj, ovent);
}
obj.onmouseup = function() {
drag.stop(obj);
}
_drag_cache._dragable = true;
},
stop : function(obj) {
obj.style.backgroundColor = _drag_cache._lc;
obj.style.borderColor = _drag_cache._lc;
_drag_cache._dragable = false;
},
dragging : function(obj, evt) {
if(_drag_cache._dragable) {
var ____left = _drag_cache._lx + evt.clientX - _drag_cache._mx;
var ____top = _drag_cache._ly + evt.clientY - _drag_cache._my;
this.getBrowser().moveTo(obj, ____left, ____top);
}
}
}