Solo por complemento @Roman Holzner responde ...
En mi caso, tengo un botón que muestra la información sobre herramientas y debe permanecer deshabilitado hasta que se realicen otras acciones. Usando su enfoque, el modal funciona incluso si el botón está desactivado, porque su llamada está fuera del botón: estoy en un archivo Blade de Laravel, solo para que quede claro :)
<span data-toggle="modal" data-target="#confirm-delete" data-href="{{ $e->id }}">
<button name="delete" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Excluir Entrada" disabled>
<i class="fa fa-trash fa-fw"></i>
</button>
</span>
Entonces, si desea mostrar el modal solo cuando el botón está activo, debe cambiar el orden de las etiquetas:
<span data-toggle="tooltip" data-placement="bottom" title="Excluir Entrada" disabled>
<button name="delete" class="btn btn-default" data-href="{{ $e->id }}" data-toggle="modal" data-target="#confirm-delete" disabled>
<i class="fa fa-trash fa-fw"></i>
</button>
</span>
Si desea probarlo, cambie el atributo con un código JQuery:
$('button[name=delete]').attr('disabled', false);