con on pasa lo siguiente, cuando el elemento aparece desde el principio en la pagina se usa como lo estas implementando pero cuando no es el caso por ejemplo al cargar el elemento través de ajax o al agregarlo dinamicamente desde jquery o javascript la implementacion de on es distinta y depende del contexto o del padre en el que este el elemento
Supongo que #passive es un tag <a>, supongamos que #passive esta dentro de un div llamado con id padre (#padre) (no es muy original el nombre lo se..) y #padre se carga desde el principio en la pagina asi #passive no este aun, asi que la implementacion de on seria la siguiente
Código:
$(#padre).on('click', 'a#passive', function(){
// el resto del código.
});
Notas la diferencia? el on ahora recibe 3 parámetros, esto lo hace jquery para saber desde donde "revivir" los elementos en este caso #padre y no tener que hacerlo desde <body> lo cual no seria eficiente.
Para más información revisa .on en la pagina de jquery.
Saludos.