0

大家好,我是 Javascript 和 Jquery 的新手。首先,我有一个带有 id 的图像,即#imag_4,我在函数 imageDrag() 中保留了这个点击函数。当我点击图像时,我将图像传递给 dragMe() 函数并在那里我申请 pageX 和 pageY 。我得到了 pagex 和 pagey 的值,但是当鼠标移动时图像没有移动......下面是代码

function imageDrag(){
   var imageDragged = null;

   $('.flexslider .slides #listid_4 #imag_4').on('click', function (e) {
      event.stopPropagation();
      if (imageDragged === null) {
         imageDragged = $(this);
            console.log(imageDragged);
         drag(imageDragged);
      }
   });
}

我知道我们有 Jquery UI 的可拖动功能,我不想使用那种方法。下面是我的dragMe功能..

function dragMe(imageDragged) {
   $(this).on('mousemove', function (e) {  
      imageDragged.css({
         left: e.pageX,
         top: e.pageY
      });
   });
}
4

1 回答 1

1

首先,您正在调用drag函数,而您定义了dragMe函数。

click其次,当您使用鼠标按钮(即按下鼠标然后释放鼠标)单击鼠标时会调用jquery 。您应该使用 'mousedown' 事件来捕捉此拖动启动事件。

最后一件事是:您应该处理mouserelease事件以停止拖动元素。

这里被修改和简化为 span 元素示例

于 2013-05-25T09:27:17.617 回答