0

我正在开发一个 Spotify 应用程序,并在我的应用程序中构建了一个 dropzone,以便用户可以将音乐拖到它上面。它适用于歌曲、专辑和播放列表。每当他们拖动此内容时,他们的光标会显示一个绿色加号,一切正常。

但是,当用户从现有播放列表中仅选择几首歌曲时,dropzone 拒绝接受它们。没有显示绿色加号。没有任何东西被转移到dropzone。

有什么想法吗?

var dropzone = document.querySelector('#dropzone');
dropzone.addEventListener('dragover', handleDragOver, false);
dropzone.addEventListener('drop', handleDrop, false);

function handleDragOver(e) {
    e.preventDefault();
    e.dataTransfer.dropEffect = 'copy';
    return false;
}

function handleDrop(e) {
    var droppedURI = e.dataTransfer.getData('Text');
    // rest of code here.
}
4

1 回答 1

0

根据我的尝试和研究(谷歌搜索),似乎根本不可能将一个以上的链接放入一个放置区。我不明白这一点,所以我猜这是错误。但是,可以将多个链接放到应用程序的图标上,至少在我的情况下这已经足够好了。

我是怎么做到的:

models.application.observe(models.EVENT.LINKSCHANGED, function(){
    models.application.links.forEach(function(link){
        // Use your already existing logic and do whatever your want to do with the links
        // For example (assuming you already have a playlist object):
        if( (link.split('/')[3] || link.split(':')[1]) === 'track' ){
            playlist.add(link);
        }
    });
});

希望这可以帮助!

于 2012-10-17T17:22:53.980 回答