2017-09-06 4 views
0

Ich habe ein Modul zu entwickeln, in dem ich eine übergeordnete Tabelle haben und für jede Zeile gibt es eine unter Verwendung JSON-Array mit AJAX-Aufruf mit jquery dynamisch erzeugte Kind-Tabelle.
Jetzt muss ich jedes Mal eine Warnung auslösen, wenn eine untergeordnete Tabelle mit der Klasse "childtable" in die übergeordnete Tabellenzeile eingefügt wird, die die ID der untergeordneten Tabelle anzeigt.
Ich habe versucht, dies zu erreichen mit Jquery DOMNodeInserted Ereignis und es funktioniert perfekt für mich in IE, aber es funktioniert nicht in Chrome.
Ich verwende Google Chrome Version 56.0.2924.87.
Das Stück Code ist wie folgt.
Jquery DOMNodeInserted funktioniert nicht in Chrome aber funktioniert in IE

$('body').on('DOMNodeInserted', 'table.childtable', function(e) { 
if (! $.fn.DataTable.isDataTable('#'+$(this).attr('id'))) { 

var tab='#'+$(this).attr('id'); 

alert(tab); //fire id as alert 

$('#'+$(this).attr('id')).DataTable({ 
     "bSort" : false, 
     "scrollCollapse": true, 
     "searching": false, 
     "bInfo" : false, 
     "paging": false, 
     "columnDefs": [{ 
       "targets": [ 0 ], 
       "visible": false 
      }] 

}); 
    $(tab).find("thead tr th").each(function(index1) { 
    index1 += 1; 
    $(tab).find("tbody tr td:nth-child(" + index1 + ")").attr("data-title", $(this).text()); 
}); 


} 


}); 


helfen Sie mit mir Jungs ... Vielen Dank im Voraus für Ihre Zeit.

+0

'DOMNodeInserted' ist ein Teil von veralteten [Mutation Events] (https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mutation_events). Verwenden Sie stattdessen [Mutations-Beobachter] (https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver). – Teemu

+0

Ich habe versucht, über Mutationsbeobachter zu lesen. Aber ich bin nicht in der Lage, es zu erreichen .. kann mir jemand mit dem Code helfen. –

Antwort

0

Nach einer langen Suche habe ich endlich eine Antwort auf meine Frage gefunden. Danke an Uzair Farooq.
Das obige Ding kann mit dem arrive.js erreicht werden, das an Mutationsbeobachtern arbeitet.
Klicken Sie hier, um die Datei herunterzuladen. arrive.js


Code:

$('body').arrive('table.childtable', function(){ 
    alert('#'+$(this).attr('id')); 
}); 


Jetzt ist meine Sorge ist, ich nicht diesen Code in alten browsers.Bcoz Mutationen Beobachter können nicht in alten Browsern unterstützt.

Wie können wir herausfinden, ob veraltete Mutationsereignisse im Browser unterstützt werden oder ob jquery nicht verwendet wird?

Verwandte Themen