将字段添加到 Spotify 列表

Adding a field to a Spotify list

本文关键字:Spotify 列表 添加 字段      更新时间:2023-09-26

我正在尝试将一个字段添加到Spotify API提供的列表中。

这是我创建列表的代码:

var playList_view = new views.List(playlist_test, function(track) {
                return new views.Track(track, views.Track.FIELD.NAME | 
                                            views.Track.FIELD.ARTIST | 
                                            views.Track.FIELD.ALBUM);
            });
$('#tracks').append(playList_view.node);

我不知道如何通过函数将其添加到视图中,所以我在事后添加它。如果有更好的方法,请告诉我。

这是尝试(部分成功):

$('.sp-list a').append("<span>Test</span>");

这将正确地在屏幕上显示的所有轨道的其他列的右侧添加一列。当我在列表中向下滚动时出现问题。它似乎正在刷新并且 html 被重写。我认为这里的解决方案是在视图创建时将代码添加到函数中,或者观察某种更改/刷新事件。不幸的是,我不确定事件是什么,也不确定找到事件列表的好地方。

任何帮助不胜感激!

谢谢凯文

执行此操作的一种方法是在滚动事件上使用处理程序来检测列表是否已滚动,然后重新添加字段。但是,您需要注意它不会最终将其添加到已添加它的行中,否则您最终会得到重复的字段。这似乎有效:

function addCustomField() {
    $('.sp-list a.sp-item').each(function() {
        if($(".custom-field",$(this)).length == 0) // check field doesn't already exist
        {
            $(this).append("<span class='"custom-field'">Test</span>");
        }
    });
}
setTimeout(function() {
    addCustomField(); // Add the custom field to the visible tracks
    $('.sp-list').scroll(addCustomField); // Register the scroll handler
},10);