如何在jQuery draggable div上选择文本?
我使用jQuery创建了一个div draggable。 但是,该框中有一些文字,我仍然希望能够复制和粘贴文本,但是当我单击框时我将项目拖得很好,它就开始移动框了?
允许在同一元素上拖动和选择文本是没有意义的。 但是,如果你一直认为有必要,我会想到两件事:
解决方案1:
您可以添加一个“处理程序”,它将是接收鼠标按下/向上事件的唯一子项来拖动div。 例如:
This is a selectable text
在您的JavaScript代码中:
var draggableDiv = $('#draggable'); draggableDiv.draggable({ handle: $('.text', draggableDiv) });
解决方案2:
当用户尝试选择文本时,您可以禁用可拖动的东西:
This is a text
在您的JavaScript代码中:
var draggableDiv = $('#draggable').draggable(); $('.text', draggableDiv).mousedown(function(ev) { draggableDiv.draggable('disable'); }).mouseup(function(ev) { draggableDiv.draggable('enable'); });
当有人试图在.text
选择某些内容时,可以禁用可拖动的进程。
第一个解决方案是正确的解决方案。
使元素可拖动时使用cancel
选项 。
防止从指定元素开始拖动。
$('.selector').draggable({ cancel: '.text' });