ondrag事件仅在选择文本时触发

时间:2011-11-20 05:04:34

标签: javascript jquery html dom

我注意到只有在选择文本时才会触发拖动事件,ondrag,ondragstart等。

我有以下html:

<div id="draggable" style="padding: 10px; background-color:#999;">
    <div>test</div>
</div>

...和这个javascript:

$("#draggable").on("drag", function(){ console.info("dragged")});

http://jsfiddle.net/gZ2pf/10/

如果您尝试拖动,则不会触发任何内容,但一旦您选择了文本,它就会触发。我总是可以使用鼠标事件复制拖动,但是拖动可以跨越iframe,我也可以复制它,但这会使代码真的不干净。

我的问题是,有没有人知道如何在不需要选择文本的情况下激活拖动事件?

2 个答案:

答案 0 :(得分:1)

@Ivan谢谢,你刚刚指出了正确的方向,我不知道可拖动属性的存在。

所需要的只是div上的draggable属性。

<div draggable="true">drag this</div>

答案 1 :(得分:0)

使用jQuery UI,您可以主动拖放所有DOM元素的事件: http://jqueryui.com/demos/draggable/

如果你想激活整个div的拖拽;你必须激活它: - )

我在第一个div中激活了一个小小的小提琴 http://jsfiddle.net/JdVv5/ 一个人为#34;文本div&#34; http://jsfiddle.net/JdVv5/2/