因为鼠标没有拖动事件(按下鼠标并移动),只有按下,抬起,移动。
记得在之前的一个"拖动层"的随笔中,我实现拖动,是用的一个布尔变量,判断是否可以拖动某元素。
这两天看了一些东西,发现不需要设这个布尔变量;
实现过程:
按下鼠标的时候,给文档对象(当然也可以是别的DOM对象)的移动事件绑定一个处理函数,同时也给鼠标抬起时绑定一个解除的处理函数。
//按下鼠标并移动时(拖动),调用的函数; function startSelection(event){ …… } //解除移动时的处理函数; function cancelSelection() { $(document).unbind('mousemove', startSelection).unbind('mouseup', cancelSelection); } //鼠标在按下时调用的函数 function imgMouseDown(event){ $(document).mousemove(startSelection).mouseup(cancelSelection); }
$img.bind("mousedown",imgMouseDown)