Javascript Drag& Drop in Firefox

时间:2012-04-13 20:50:39

标签: javascript firefox drag-and-drop

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

0 个答案:

没有答案