javascript - 在内容可编辑的 div 中选择文本,它是 jquery 可拖动的

标签 javascript jquery html jquery-draggable

我有一个 contenteditable div,它是另一个 div 的子元素,使用 jquery 将其制成可拖动元素。

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

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

我面临的问题是没有禁用任何默认鼠标操作,例如选择文本片段等。此外,如果我尝试选择一些文本,它只会拖拽整个 div。 我试过这样的事情:

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

但这只会阻止任何鼠标拖动操作。它还会阻止文本选择。 我们如何为子内容启用所有内容编辑鼠标操作,同时保持父内容可拖动?

最佳答案

尝试这样的事情:

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

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

Fiddle

关于javascript - 在内容可编辑的 div 中选择文本,它是 jquery 可拖动的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15906098/

相关文章:

Javascript:从对象数组中提取对象,并将它们放入新数组中

javascript - window.location 不适用于带有 signalR 的服务器调用函数

javascript - 当由外部源托管时,jquery 代码停止工作

javascript - Scroll-lock/You click->你可以向下滚动

javascript - 使用 <canvas> 和 javascript 在图像上自由绘制

html - 全宽类——基础框架

javascript - HTML5 游戏 (Canvas) - UI 技术?

jQuery AJAX 文件上传跨浏览器支持

html - 第一层水平布局的三级 CSS 菜单

javascript - AngularJS 范围未定义