Sempre use o prop()método para ativar ou desativar elementos ao usar o jQuery (veja abaixo o porquê).
No seu caso, seria:
$("#edit").click(function(event){
event.preventDefault();
$('.inputDisabled').prop("disabled", false); // Element(s) are now enabled.
});
Exemplo de jsFiddle aqui.
Por que usar prop()quando você pode usar attr()/ removeAttr()para fazer isso?
Basicamente, prop()deve ser usado quando obter ou definir propriedades (como autoplay, checked, disablede requiredentre outros).
Ao usar removeAttr(), você remove completamente o disabledpróprio atributo - enquanto prop()apenas define o valor booleano subjacente da propriedade como false.
Embora o que você queira fazer possa ser feito usando attr()/ removeAttr(), isso não significa que deve ser feito (e pode causar um comportamento estranho / problemático, como neste caso).
As seguintes extrações (extraídas da documentação do jQuery para prop () ) explicam esses pontos com mais detalhes:
"A diferença entre atributos e propriedades pode ser importante em situações específicas. Antes do jQuery 1.6, o .attr()método às vezes considerava os valores das propriedades ao recuperar alguns atributos, o que poderia causar comportamento inconsistente. A partir do jQuery 1.6, o .prop()
método fornece uma maneira de recuperar explicitamente valores da propriedade, enquanto
.attr()recupera atributos ".
"As propriedades geralmente afetam o estado dinâmico de um elemento DOM sem alterar o atributo HTML serializado. Os exemplos incluem a value
propriedade de elementos de entrada, a disabledpropriedade de entradas e botões ou a checkedpropriedade de uma caixa de seleção. O .prop()método deve ser usado para definir disablede em checkedvez de o .attr()
método. o .val()método deve ser usado para obter e definir
value."