Ah, so you're a coward? You sucker punched the guy. What a class act.
It sounds as though the guy deserved it. This kid's action was very rude and anti-social, and went beyond a mere verbal tantrum. How he deals with his kid is legally his business, but he at least has a duty to apologise for his kid spitting on someone. I probably wouldn't have punched the guy (just me personally), but I would have made him apologise.
I gave him plenty of warning, and was nice enough to wait for him to put the kid safely on the ground besides; there is nothing wrong with a sucker punch. The Marquee of Queensberry rules only apply if a person is in the ring.