listen for focus/blur, too