Não funcionava pois a máscara não foi criada com o seletor this e sim com o seletor .phone-mask, porém se eu reaplicasse a máscara iria aplicar para todos os inputs da tela e eu não queria isso, então meu código ficou assim:
Outra opção para aplicar uma máscara em telefones com 8 ou 9 dígitos de forma dinâmica é usar o plugin jquery.inputmask.
São definidas duas máscaras uma para oito dígitos e outra para nove, o responsável por manter o hifen no lugar correto(ou desloca-lo) é keepStatic:true(por padrão ele é false) que faz a troca apenas quando o novo padrão é detectado ou seja depois de digitado o decimo quarto caracter.
Lembrando que estamos tratando de uma máscara a respeito do plugin Masked Input Plugin. Muitos confundem com outros plugins e por isso o código não funciona. http://digitalbush.com/projects/masked-input-plugin