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