2011-11-20 72 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> 
相關問題