2010-12-06 29 views
8

我一直試圖使用ondrag()div上的一些其他功能在HTML頁面上動態呈現。Javascript ondrag,ondragstart,ondragend

這些事件似乎都不會觸發,也不會出現任何錯誤。我也找不到很多有用的文檔。我解釋錯了嗎,你可以使用這些事件來編寫腳本功能來在屏幕上拖動div嗎?

+0

你使用任何JavaScript框架/插件?如果不是IE和safari以外的其他瀏覽器不理解ondrag。你能粘貼你的代碼嗎? – Prashanth 2010-12-06 14:00:12

+0

Borwser? DOCTYPE?你可以提供一些其他的細節嗎? – Eineki 2010-12-06 14:00:22

回答

10

看一看這個文檔:https://developer.mozilla.org/En/DragDrop/Drag_and_Drop

注意:它不會在所有的瀏覽器。

如果你想要一個跨瀏覽器支持使用jQuery:http://jqueryui.com/demos/draggable/

jQuery的例子:

<div id="draggable" class="ui-widget-content"> 
    <p>Drag me around</p> 
</div> 

<script> 
    $(function() { 
     $("#draggable").draggable({ 
      drag: function(event, ui) {} 
     }); 
    }); 
</script> 

又如:

<div id="toBeDragged" draggable="true"> 
    This text <strong>may</strong> be dragged. 
</div> 

<script> 
document.getElementById('toBeDragged').addEventListener('dragstart', function(event) { 
    event.dataTransfer.setData('text/plain', 'This text may be dragged'); 
}); 
</script> 
1

我還沒有使用拖自己很多,但我相信這是拖動「編輯動作」 - 例如選擇文本並在文本框/文本區內拖動它。

您可能需要實現自己的onmousedown()onmouseup()onmousemove()處理程序,我認爲你是後

0

一個簡單的方法做,這是與jQuery UI的功能,請確保您使用您的動態div有後被渲染。

$(document).ready(function() { 
    $('.my_draggable_elements').draggable({ 
     drag: function(){ 
      // do something 
     } 
    }); 
}); 
0

div中是否有內容?我不認爲這是被拖入這個特殊事件的元素本身。