如何使div满足和可拖动

Gau*_*rav 10 jquery jquery-ui

<div contenteditable="true" id="d">
<span>Text to edit</span>
</div>

$("#d").draggable();
Run Code Online (Sandbox Code Playgroud)

我只能拖动这个div但是我怎么能编辑它(比如双击可编辑属性变为活动状态并且单击拖动变为活动状态)?

oca*_*nal 18

$("#d").draggable()
  .click(function() {
    $(this).draggable({ disabled: false });
}).dblclick(function() {
    $(this).draggable({ disabled: true });
});
??
Run Code Online (Sandbox Code Playgroud)

DEMO


ETY*_*001 9

$("#d")
.draggable()
.click(function(){
    if ( $(this).is('.ui-draggable-dragging') ) {
        return;
    }
    $(this).draggable( "option", "disabled", true );
    $(this).attr('contenteditable','true');
})
.blur(function(){
    $(this).draggable( 'option', 'disabled', false);
    $(this).attr('contenteditable','false');
});
Run Code Online (Sandbox Code Playgroud)

这是演示:http: //jsfiddle.net/UH9UE/222/.


小智 6

另一个选择是传递.draggable({handle:"handleDiv"}),它允许你一直保持可拖动状态,并允许进行可信的编辑.只需使用两个div来制作你的可拖动div:句柄和你的contenteditable div.

API文档