在jquery-ui可拖动方法

时间:2016-01-16 12:53:18

标签: jquery html css jquery-ui jquery-ui-draggable

我希望光标位于 ui.helper of draggable 中心

我这样做

$(".soclass").draggable({

          cursor: "move",
          helper: 'clone',
          revert: "invalid",
          tolerance: "fit",
          start: function(event, ui){

             $(this).draggable("option", "cursorAt", {
            left: Math.floor(ui.helper.width() / 2),
            top: Math.floor(ui.helper.height() / 2)
          }); 


          }

      });
  

使用此我只在首次放弃后才将光标放在中心。   如何将光标从第一次放下中心对齐。

Jsfiddle

2 个答案:

答案 0 :(得分:14)

您可以访问可拖动实例的 offset.click 属性,这几乎就是将光标设置为选项的问题设置选项的问题是,如您所述,它将是仅在下次触发开始事件时应用。但是使用该属性,您可以在当前事件上设置它。像这样:

start: function(event, ui){
    $(this).draggable('instance').offset.click = {
        left: Math.floor(ui.helper.width() / 2),
        top: Math.floor(ui.helper.height() / 2)
    }; 
}

https://jsfiddle.net/38fay00b/

答案 1 :(得分:-2)

我创建了这个解决方案,这只适用于我

$('.soclass').mouseenter(function(){
    $(this).draggable("option", "cursorAt", {top: 0, left: $(this).width()/2 });
});