2011-11-20 24 views
1

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

我有以下的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,我也可以复制它,但这会使代码非常不洁。

我的问题是,有没有人知道如何使火灾事件无需选择文本?

+1

这就是我所期待发生的非拖动元素... – Ivan

+0

什么伊万说(因为我没有在第一要么得到它)是为了使“拖拽”事件要被触发,该元素必须是可拖动的才能开始。 div本身并不是可拖动的。选定的文字是。我现在好奇文本是如何触发事件的......是由于事件冒泡到下一个元素? –

+0

可以使用-webkit-user-select:none来禁用文本选择; -moz-user-select:none'或类似的东西... –

回答

1

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

所有需要的是div上的可拖动属性。

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