首先要感谢木野狐,解决了EasyDrag这个Jquery插件没有指定拖动的handle的问题。这可是个大问题,尽管EasyDrag是个非常轻巧又实用的插件,但没有拖动的handle使我决定放弃它而选用臃肿的interface。那是多么痛苦的选择……
EasyDrag可以指定DOM中某个元素,使其可以用鼠标进行拖放操作。假设DOM中有一个元素:<div id=”box1″>Drag me…</div>。那么这样让它支持拖放:
$(”#box1″).easydrag();
如果想得到元素的位置值,可以用EasyDrag的ondrop方法CallBack回一个对象,如:
$(”#box1″).ondrop(function(a){ alert(a.x+’,'+a.y); });
操作很简单,但有个问题,就是鼠标在元素中任何范围内都可以对元素进行拖动。如果元素中有一个滚动条或按钮就麻烦了!鼠标只要一点动滚动条或按钮,整个元素就会永远跟着鼠标指针,象块风湿贴膏一样甩都甩不掉……
木野狐解决了这个问题,他扩展了这个插件,指定一个元素为拖动的handle。把这个元素嵌入被拖动的元素中,鼠标只在handle范围内才可以拖动整个元素。比如:
<div id=”box1><div id=”darghandle“></div>Darg me…</div>
$(”#box1″).easydrag(false,[”darghandle“]);
这样就完美了。