div
ページで動的にレンダリングされたHTML
でondrag()
と他のいくつかの関数を使用しようとしています。
これらのイベントはいずれも発生していないようで、エラーも発生しません。私もそれに関する多くの有用なドキュメントを見つけることができません。私はそれを間違って解釈していますか?これらのイベントを使用して、画面上でdivをドラッグする機能をスクリプト化できますか?
このドキュメントをご覧ください: 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>
ドラッグはあまり使用していませんが、ドラッグの「編集アクション」だと思います。たとえば、テキストを選択してテキストボックス/テキストエリア内にドラッグします。
自分が求めている機能のために、独自のonmousedown()
onmouseup()
およびonmousemove()
ハンドラーを実装する必要があるかもしれません。
これを行う簡単な方法は、jQuery UIを使用することです。動的なdiv
がレンダリングされた後に必ず使用してください。
$(document).ready(function () {
$('.my_draggable_elements').draggable({
drag: function(){
// do something
}
});
});
Divにコンテンツはありますか?この特定のイベントでドラッグされるのは要素自体ではないと思います。