Ich versuche, ein Onclick-Ereignis auszuführen, das auf Seite eins normal funktioniert, aber sobald ich auf Seite 2 (oder eine andere) gehe, funktioniert es nicht mehr.
Ich verwende jquery-1.10.2.min.js und die Version 1.9.4 von Datatable
Ist der .activeAccount Schaltfläche innerhalb des Inhalts der Tabelle? Beachten Sie auch, dass es wirklich schlechte Praxis ist, es zu verwenden async: falseund die location.reload() im Erfolgshandler negiert den gesamten Punkt, überhaupt eine AJAX-Anfrage zu stellen.
– Rory McCrossan
18. Januar 2016 um 15:52 Uhr
Ja, es ist unter Inhalt der Tabelle
– aja p
18. Januar 2016 um 15:59 Uhr
In diesem Fall müssen Sie gemäß der Antwort von @squaleLis einen delegierten Ereignishandler verwenden. Sie sollten wirklich loswerden async: false und die location.reload() obwohl.
– Rory McCrossan
18. Januar 2016 um 15:59 Uhr
Ich habe hier eine Antwort gegeben. stackoverflow.com/questions/25575996/… Sie können dies sehen.
– Md. Harun oder Rashid
5. Februar 2017 um 8:02 Uhr
Die von @Md.HarunOrRashid vorgeschlagene Lösung ist wirklich hilfreich
– Ogbonna Vitalis
12. März 2020 um 8:46 Uhr
squaleLis
Denn das Event wird nur an bestehende Elemente angehängt.
Sie sollten es ändern in:
$("#tableId").on("click", ".activeAccount", function(){
// your code goes here
});
Lesen Sie mehr in der Dokumentation von jQuery.on.
@sarower-jahan Danke 🙂
– squaleLis
24. April 2016 um 8:41 Uhr
Danke, seine wirklich hilfreiche Antwort.
– Varinder Singh Baidwan
4. August 2018 um 11:38 Uhr
In meinem Fall war vor dem Click-Event “$(“.each_player”).click(function(){ // my code goes here });” Nach dem Ändern “$(“#playerGroupUI”).on(“click”, “.each_player”, function(){ // my code goes here });”
– sh6210
20. Mai 2019 um 8:47 Uhr
Dadurch wurde das Ereignis mehrmals statt einmal ausgelöst!? 10 Löschsymbole auf der Seite und beim Klicken auf eines wurde die Löschbestätigung zweimal ausgelöst
– einige_lebensmittel
29. Juni 2019 um 12:41 Uhr
$(document).on("click",".activeAccount",function(e){
// your code goes here
});
Ich hatte das gleiche Problem. Jedes Mal, wenn meine AJAX-Funktion (modalContentAjaxRefresh) die Tabelle aktualisiert, stoppt das Paging. SO musste ich nur meinen Code ändern von:
$("#product-list").on("click",".btn-delete-product",function(e){
e.preventDefault();
var prodId = $(this).attr("product-id");
.... code to delete the record from the db...
});
Produktliste ist die Tabelle, in die Daten geladen werden und Paging aktiviert ist.
Das funktioniert perfekt für mich.
Harshil Modi
Ich denke, eine gute und einfache Lösung ist die Verwendung drawCallback Möglichkeit
ferpalma21.eth
Wichtig ist vor allem die Neuzuordnung der Elemente beim Klick auf die Paginierung.
//function to assign event
var assign_actions = function(){
//Some code
}
//when the page is ready
$( document ).ready(function() {
assign_actions();
//Code to assign event when paginate
$('.paginate_button').on('click', function(){
assign_actions();
});
});
12054300cookie-checkdatatables jquery click event funktioniert nach Paginierung nichtyes
Ist der
.activeAccount
Schaltfläche innerhalb des Inhalts der Tabelle? Beachten Sie auch, dass es wirklich schlechte Praxis ist, es zu verwendenasync: false
und dielocation.reload()
im Erfolgshandler negiert den gesamten Punkt, überhaupt eine AJAX-Anfrage zu stellen.– Rory McCrossan
18. Januar 2016 um 15:52 Uhr
Ja, es ist unter Inhalt der Tabelle
– aja p
18. Januar 2016 um 15:59 Uhr
In diesem Fall müssen Sie gemäß der Antwort von @squaleLis einen delegierten Ereignishandler verwenden. Sie sollten wirklich loswerden
async: false
und dielocation.reload()
obwohl.– Rory McCrossan
18. Januar 2016 um 15:59 Uhr
Ich habe hier eine Antwort gegeben. stackoverflow.com/questions/25575996/… Sie können dies sehen.
– Md. Harun oder Rashid
5. Februar 2017 um 8:02 Uhr
Die von @Md.HarunOrRashid vorgeschlagene Lösung ist wirklich hilfreich
– Ogbonna Vitalis
12. März 2020 um 8:46 Uhr