Zajc speelde in de jeugd van Interblock Ljubljana, waar hij ook vijf wedstrijden in het eerste elftal speelde. In 2012 huurde Olimpija Ljubljana hem en hij wist tweemaal te scoren in één wedstrijd tijdens deze verhuurperiode. Hierna nam NK Celje de middenvelder op huurbasis over en hij speelde anderhalf jaar voor deze club. Medio 2014 nam Olimpija Ljubljana hem voor circa vierhonderdduizend euro over van Interblock. Met Olimpija werd Zajc in zijn tweede seizoen Sloveens landskampioen. Gedurende de winterstop van het seizoen 2016/17 kocht Empoli de Sloveen voor 1,7 miljoen euro. Zajc zette zijn handtekening onder een verbintenis voor de duur van vierenhalf jaar.[1] Met deze club degradeerde hij uit de Serie A, waarna hij een niveau lager een basisplaats kreeg. Het seizoen 2017/18 leverde een kampioenschap op in de Serie B en dus weer promotie naar het hoogste niveau. Na de promotie verlengde Zajc zijn contract met één jaar, tot medio 2022.[2] Een halfjaar later stapte de Sloveen over naar Fenerbahçe, waar hij voor vierenhalf jaar tekende.[3] In 2020 werd hij verhuurd aan Genoa in Italië.[4] In augustus 2024 werd Zajc voor de tweede maal verhuurd, nu aan Toulouse.[5]
Zajc maakte op 23 maart 2016 zijn debuut in het Sloveens voetbalelftal, toen in een vriendschappelijke wedstrijd met 1–0 gewonnen werd van Macedonië door een doelpunt van Roman Bezjak. Van bondscoach Srečko Katanec mocht Zajc in de basis beginnen en hij werd drie minuten voor tijd gewisseld ten faveure van Enej Jelenič. De andere debutanten dit duel waren Nejc Skubic (Konyaspor), Aljaž Struna (Palermo), Blaž Vrhovec (NK Celje) en Jelenič (Livorno).[7] Tijdens zijn vijfde interland kwam Zajc voor het eerst tot scoren. Tegen Montenegro opende Bezjak uit een strafschop de score en elf minuten voor tekende Zajc voor de beslissende 0–2.[8]
In mei 2024 werd Zajc door bondscoach Matjaž Kek opgenomen in de voorselectie voor het EK 2024 in Duitsland.[9] Voor de definitieve selectie was hij echter een van de vier afvallers.[10]