Was I out of line/ What should I have done?

Kory 🎃
I was at a baseball game tonight and sitting in front of me was a mother and her son who was no more than 7 years old. Sitting in the same row was some belligerent, drunk, 40-something asshole who was being rude af. The mom tells him he doesn't need to be rude, he turns into a total piece of shit and ends up talking shit to THE KID and tells him to sit down. The kid hasn't done ANHTHING wrong. She's visibly upset and stands up, walks over and says "hey, asshole, you don't talk to my kid that way!" Kid starts crying because he doesn't know what's going on and he thinks he's in trouble. Mom is comforting kid while a swarm of other parents with their older kids sit around and say  nothing. NOTHING. No one else says anything to this jerk, they let it slide. I am infuriated, so as soon as I see this kid start to cry while mom is too upset to do anything but hug him, I lose my shit and yell, "You're a fucking dick! You just made a little kid cry, you asshole!" And THIS is when the other parents, probably at least 6 of them turn around and tell ME to be quiet because I'm out of line and they don't need to hear my language when they all sat by quietly and listened to a 40-something, drunk asshole yell at at a little kid who literally hadn't done a single thing wrong. I understand that I might not have needed to use the language, but I was so angry that no one else bothered to stand up for this mother and a little kid who hadn't done anything other than watch his favorite team. What should I have done? I'm am not the type of person who can sit by and ignore something like that the same way everyone else did. Was I totally wrong  to say what I did? And wouldn't you hope that someone else would stand up for you in that same situation?