jQuery DataTables e Columnfilterwidget Botão Redefinir todos os filtros

Eu sou novo em Javascript.Então minha pergunta é um pouco boba.

Eu estava procurando pelo botão Redefinir todos os filtros do Columnfilterwidget e encontrei esse código.

$.fn.dataTableExt.oApi.fnResetAllFilters = function (oSettings, bDraw/default true/) {
for(iCol = 0; iCol < oSettings.aoPreSearchCols.length; iCol++) {
oSettings.aoPreSearchCols[ iCol ].sSearch = '';
}
$('.filter-term').remove();
oSettings.oPreviousSearch.sSearch = '';
if(typeof bDraw === 'undefined') bDraw = true;
if(bDraw) this.fnDraw();
}

Eu preciso vinculá-lo a um botão para fazê-lo funcionar.

$(document).ready(function(){
$("button").click(function(){
 $.fn.dataTableExt.oApi.fnResetAllFilters = function (oSettings, bDraw/default true/) {
    for(iCol = 0; iCol < oSettings.aoPreSearchCols.length; iCol++) {
    oSettings.aoPreSearchCols[ iCol ].sSearch = '';
    }
    $('.filter-term').remove();
    oSettings.oPreviousSearch.sSearch = '';
    if(typeof bDraw === 'undefined') bDraw = true;
    if(bDraw) this.fnDraw();
    }

});
});

Mas não funciona, tudo o que clico no botão é que minha página é atualizada. O que estou fazendo de errado aqui ???

ATUALIZADA

$(document).ready(function(){
$("button").click(function(e){e.preventDefault();})
$("button").click(function(){
console.log("afterbutton");
 $.fn.dataTableExt.oApi.fnResetAllFilters = function (oSettings, bDraw) {
console.log("insidefunction");
    for(iCol = 0; iCol < oSettings.aoPreSearchCols.length; iCol++) {
    oSettings.aoPreSearchCols[ iCol ].sSearch = '';
    }
    $('.filter-term').remove();
    oSettings.oPreviousSearch.sSearch = '';
    if(typeof bDraw === 'undefined') bDraw = true;
    if(bDraw) this.fnDraw();
    }

});
});

Agora a página não está atualizando, o código também não está funcionando. O console mostra apenas a mensagem até o botão de pós-clique no botão.

Há algo de errado com esse código?

Muito obrigado pela resposta. Conforme sua sugestão, atualizei meu código (usei o evento de clique no botão fora do$(document).ready(function())

$(document).ready(function(){
    $.fn.dataTableExt.oApi.fnResetAllFilters = function (oSettings, bDraw) {
        for(iCol = 0; iCol < oSettings.aoPreSearchCols.length; iCol++) {
        oSettings.aoPreSearchCols[ iCol ].sSearch = '';
        }
        $('.filter-term').remove();
        oSettings.oPreviousSearch.sSearch = '';
        if(typeof bDraw === 'undefined') bDraw = true;
        if(bDraw) this.fnDraw();
        }

    } );

    // button click event
    $("button").click(function(e){
            e.preventDefault();
            // 'myDataTable' is the name you gave the datatable at initialisation - oTable or similar
            table.fnResetAllFilters();
      });

Isso ainda atualiza minha página no clique no botão, mas se eu pegar o botão, clique no evento dentro$(document).ready(function() então eu recebo erro comotable.fnResetAllFilters(); não é uma função.table = $('#example').DataTable({ é assim que eu inicializo o Datatable.

questionAnswers(1)

yourAnswerToTheQuestion