我为网站实现了拖放功能。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。