Web サイトにドラッグ & ドロップ機能を実装しました。Chrome は正常に動作し、IE9 も (どういうわけか) 正常に動作しますが、Firefox は何らかの方法で私のコードを受け入れることを拒否します。
ドラッグ可能なオブジェクトをクリックすると、Firefox は ondragstart イベントを発生させますが、それ以上は進みません。ドラッグ可能なオブジェクトが表示されず、マウスの動きに何も追従しません。もう一度クリックしても同じことが起こるので、Javscript は殺されません。
これは私のコードです:
self.allDraggables.on({
dragstart:self.startDragging,
dragend:self.stopDragging
});
self.allDroppables.on({
dragenter:self.enterDroppable,
dragover:self.overDroppable,
dragleave:self.leaveDroppable,
drop:self.dropped
});
this.startDragging = function () {
$('div.insidePopup span.close').trigger('click');
self.createWidget(this);
self.allDroppables.animate({opacity:self.options.light}, self.options.animation);
};
this.stopDragging = function () {
self.destroyWidget();
self.allDroppables.animate({opacity:self.options.unlight}, self.options.animation);
};
this.enterDroppable = function (event) {
event.preventDefault();
$(this).animate({opacity:1}, self.options.animation);
};
this.overDroppable = function (event) {
event.preventDefault();
};
this.leaveDroppable = function () {
$(this).animate({opacity:self.options.light}, self.options.animation);
};
self はメインの this ポインターを参照します。Chrome と IE9 ではすべて正常に動作するため、構文に何かを含めることはできません。
これは本当に問題です。月曜日にプレゼンテーションがあり、これを修正する必要があります。
どんな助けでも大歓迎です!
編集:Firefox 11を使用しています。