1

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

4

0 回答 0