With the advent of TV, many people could see the effects of racism first-hand and could no longer justify it to themselves. Their disapproval was fairly effective at getting the more hardline members of their community to moderate their actions.
In Virginia for example, traveling Klan members found themselves suddenly unwelcome in small towns, since either (a) cyncially no small town wanted to be the next one on the news as a lynching ground, or (b) small towners were legitimately disgusted by the seeing children beaten up for no other reason than their skin colour.
(You also could be arguing that nothing is evil, because everything is the product of evolution, and morals do not exist. If that's your position, then I think it's mistaken, but I recognize that I am not answering it with this post.)
I disagree. I think the only thing that really changes adult behavior is showing them that their behavior violates moral standards that they agree with. (Well, or that it's financially better for them to change...)
Its a moral issue that needs to be fixed.
Moralizing at racists is not effective. They are already in an us-vs-them mindset, so an attack on their character just amps up those instincts. (When have attacks on character ever been an effective means of persuasion?)