Eu tenho uma tabela dataTable alimentada via ajax. E eu tenho um td com controle de detalhes, quando destruo esse dataTable e crio novamente, meu controle de detalhes não funciona a partir do elemento 3. Dá este erro:
Uncaught TypeError: Cannot read property "_detailsShow" of undefined
at t.<anonymous> (jquery.dataTables.min.js:121)
at Function.isShown (jquery.dataTables.min.js:103)
at HTMLTableCellElement.<anonymous> (fichaFisica.js:317)
at HTMLTableElement.dispatch (jquery.min.js:3)
at HTMLTableElement.r.handle (jquery.min.js:3)
Alguém saberia o porquê?
Respostas:
0 para resposta № 1Sem mais código, minha resposta é bastante limitada. Mas suponho que o problema é que, através de alterações no seu HTML, os listeners de eventos definidos não estão mais disponíveis, pois fazem referência a um elemento que não existe mais.
Para superar esse problema, você pode usar jQuery "s on
-método. Dessa forma, sua função definida será executada para quaisquer elementos adicionados / removidos dinamicamente, como:
$("#yourStaticDiv").on("click", "yourSelectorOfDynamicElement", function() {
// Actual code
});