2013-04-09 3 views
1

У меня есть contenteditable div, который является дочерним элементом другого div, который превращается в перетаскиваемый элемент, используя jquery.Выберите текст в Контенте редактируемый div, который является jquery draggable

<div id="draggable"> 
    <div id = "editable" contenteditable="true"/> 
</div> 

$('#draggable').draggable({revert:true}); 

Проблема, с которой я сталкиваюсь, заключается в том, что ни одно из действий мыши по умолчанию, таких как выбор фрагментов текста и т. Д., Отключено. Более того, если я попытаюсь выбрать какой-то текст, он просто перетащит весь div. я попробовал некоторые вещи, как это:

$('#editable').mousemove(function(event){ 
    event.stopPropogation(); 
}) 

но это только предотвращает мыши перетащить действие. Он также предотвращает выбор текста. Как мы можем разрешить все действия по редактированию содержимого для дочернего контента, редактируемые, сохраняя при этом перетаскивание на родителя?

ответ

4

попробовать что-то вроде этого:

var draggableDiv = $('#draggable').draggable(); 

$('#editable', draggableDiv).mousedown(function(ev) { 
    draggableDiv.draggable('disable'); 
}).mouseup(function(ev) { 
    draggableDiv.draggable('enable'); 
}); 

Fiddle

+1

спасибо человеку. это сработало. – unni