The suspect was killed in a shootout with a deputy a short time later about 10 miles away, said Pierce County sheriff's spokesman Ed Troyer.
The man had been released on bail Monday after being arrested a week ago for violating a protective order the teacher, Jennifer Paulson, obtained in September 2008, Tacoma police spokesman Mark Fulghum said.
The victim's father, Ken Paulson, said she was kind and loving, and that's probably why she was a special education teacher. He described the 30-year-old as a devout Christian.
The father said the man who killed his daughter was Jed Waits, of Ellensburg. The two had apparently known each other since she was in college, when they worked together at a cafeteria at Seattle Pacific University.
Ken Paulson said his daughter hadn't heard from Waits for years after she graduated, and then he called her parents' house looking for her.
He had been bothering her for some time, but Fulghum said he didn't know specifically what prompted the woman to obtain the protective order.
Fulghum said their relationship was unclear, but it "sounds like he had a pretty good infatuation with her."
Waits found out where Paulson worked and would show up there from time to time, her father said.
She saw him as she was leaving work Friday and called 911 from her car. Watts was arrested Friday night, and after he made bail, Paulson stopped staying at her home, at least temporarily, her father said.
Fulghum said there had been no indication that the shooter had a weapon or had threatened the teacher with a weapon.
The shooting happened at Birney Elementary, which has about 400 students in kindergarten through fifth grade. Classes were canceled for the day, and officials had not made a decision about Monday's classes.
The shooter was waiting for the teacher when she arrived at 7:35 a.m. and shot her multiple times as she was trying to enter the school, Fulghum said.
Omar Moreno, 22, who lives across the street from the school, said he heard three gunshots.
"I heard a teacher screaming at the top of her lungs -- just screaming," he said. "I looked out my window and I saw the guy. He started running down the middle of the street and got in his car."
Moreno said the man, wearing a white snow cap and white gloves, drove off in a tan car. Soon after, Moreno said, a custodian barreled out of the school screaming for someone to call the police.
Moreno said he saw the victim laying on the ground, bleeding from the mouth. It was clear to him she had died, he said.
A deputy pulled over the suspect's car in the parking lot of a daycare, and he came out firing a handgun, Troyer said. The deputy returned fire and killed the man.
"We're lucky our guy's OK. The guy did have semi-automatic and did fire a round," Troyer told KCPQ-TV.
School district spokesman Dan Voelpel said Paulson worked in the language resource center helping students one-on-one with reading problems. She had been with the district since 2004 and at the school since 2007.
Paulson's death "knocked everyone flat," Voelpel said. "It's going to hit this community hard."
The shooting occurred three days after a 32-year-old man with a history of mental illness opened fire in a middle school parking lot in Colorado, wounding two students.