div内に画像があります。その画像を div 内でドラッグできるようにし、画像の座標を保存したいと考えています。Draggable で「停止」イベントを使用すると、これがうまく機能し、まさに私が望むことを行います。また、「作成」イベントで同じコードを実行したいと考えています。ただし、'create' イベントで同じコードを使用すると、渡された 'ui' オブジェクトが空であるように見えます。
$(document).ready(function() {
$('#imageitem').draggable({
containment: "parent",
stop: function(event, ui) {
console.log(ui); // results in full object being printed
},
create: function(event, ui) {
console.log(ui); // results in empty object being printed: Object { }
},
});
});
UI/Draggableのドキュメントは、create コールバックが「ui」オブジェクトを受け取る必要があることを示しています。
$( ".selector" ).draggable({
create: function(event, ui) { ... }
});
オブジェクトが空のために使用できない ui.offset にアクセスしようとしています。私がこれを正しく理解していれば、'ui' オブジェクトはこの時点ですでに DOM に存在しているはずです。ドラッグ可能なイベントの「作成」中に ui.offset にアクセスできるべきではありませんか?
確かに、私は jQuery を初めて使用するので、ここで何かが欠けている可能性があります。