Ты создаёшь span каждые 50 мс. Листенеры пытаешься навесить только на существующие сейчас, а не те что появятся в будущем. Более того, на момент вызова querySelectorAll ни одного span ещё даже не существует. В момент создания элемента вешай на него листенер. Но это всё равно не будет работать, потому что в css у тебя для span прописано pointer-events: none;
xD