2012-04-25 5 views
9
<div contenteditable="true" id="d"> 
<span>Text to edit</span> 
</div> 

$("#d").draggable(); 

このdivをドラッグすることはできますが、編集するにはどのようにすればいいですか(ダブルクリックの編集可能なプロパティがアクティブになり、クリックしてドラッグするとアクティブになります)。divをcontenteditableとdraggableにする方法

答えて

17
$("#d").draggable() 
    .click(function() { 
    $(this).draggable({ disabled: false }); 
}).dblclick(function() { 
    $(this).draggable({ disabled: true }); 
}); 
​​ 

DEMO

+0

お返事ありがとうございましたocanal、その完璧 – gaurav

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

$(function(){ 
$("#d").click(function() { 
$("#d").draggable();  
}); 

$("#d").dblclick(function(){ 
see here for this functionality http://stackoverflow.com/questions/2441565/how-do-i-make-a-div-element-editable-like-a-textarea-when-i-click-it 
}); 
}); 

5

別のオプションは、.draggable({ハンドル: "handleDiv"})通過させることであるあなたはすべての時間にドラッグ可能に保つだけでなく、することができます満足のいく編集を可能にする。ハンドルとあなたのcontenteditable divの2つのdivであなたのdraggable divを作ってください。

API documentation

8
$("#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'); 
}); 

これはデモです:http://jsfiddle.net/UH9UE/222/

+0

初めてエリアをクリックすると動作しません。何もありませんか? –

関連する問題