Javascript 在firefox中显示重复记录
我在一家在线音乐商店工作。有像我的播放列表,我的下载等按钮。。。 单击这些按钮,相应的歌曲列表将显示在网格视图中。Javascript 在firefox中显示重复记录,javascript,html,javascript-events,queue,Javascript,Html,Javascript Events,Queue,我在一家在线音乐商店工作。有像我的播放列表,我的下载等按钮。。。 单击这些按钮,相应的歌曲列表将显示在网格视图中。 问题是,当我快速单击两次按钮时,列表会出现两次,如1..4..8 1..4..8,如果我快速单击三次,则会出现三次。显示列表的函数使用append()将歌曲添加到列表中。 这些事情只发生在firefox上 我想不出这个问题 function fillMyMusicSongGrid { // code to fetch data from the database embedSong
问题是,当我快速单击两次按钮时,列表会出现两次,如1..4..8 1..4..8,如果我快速单击三次,则会出现三次。显示列表的函数使用append()将歌曲添加到列表中。
这些事情只发生在firefox上 我想不出这个问题
function fillMyMusicSongGrid
{
// code to fetch data from the database
embedSongGrid(.....);//displays the grid
}
embedSongGrid(.....)
{
//displays the grid
tableContent = '...............'
$(tableCont).appendTo('table#songList');
}
如果我猜对了,按下这些按钮会使Ajax回调服务器以获取信息,可能是作为JSON数组。然后循环遍历这些文件并将它们添加到相应的div中。要么这样做,要么得到HTML并将其追加 简单的解决方案:在添加之前先添加:
$.ajax({
...
success: function(data) {
$("#songlist").empty();
for (song in data) {
$("#songlist").append(...);
}
}
});
或
试一试
而不是
$(tableCont).appendTo('table#songList');
你可以发布append函数的代码吗?我认为你应该发布代码,似乎你需要在追加之前重置某个变量…但是为什么我缓慢地单击它不会发生这种情况呢
$(tableCont).empty();
$(tableCont).appendTo('table#songList');
$(tableCont).appendTo('table#songList');