Azon kívül, hogy elég össze-vissza ahogy írtad a javascriptet a konkrét problémád forrása, hogy akkor hozod létre a listenert, amikor az egér már rajta van a td-n. A js engine úgy működik, hogy mouseleave csak akkor lehet, ha volt mouseenter, amit addig nem érzékelt, mert nem is figyelte (első alkalommal nem volt még semilyen listener, se enter, se leave).
Ha kiemeled a listenert kívülre és előrre regisztrálod, akkor meg is van oldva.
Egy kis takarítás/egyszerüsítéssel ez kb így néz ki.
Pár egyéb:
- Ennyi alapján kephover class-t feleslegesen pakolászod le-fel, nem tudom miért nincs eleve a megjelenítő div-en.
- Kondíciók a listenerekben fussanak, ne pedig a listenereket cserélgesd/pakolásszad egymásra.
- Nézz picit utána mi mikor fut le javascript-ben, pl amit alján tesztelsz, hogy klikk az 2, akkor myFunction1-et használd az soha nem fog teljesülni, azon a ponton a klikk mindig 1, mivel az lefut mindenféle kattintás előtt.