Ich habe gelernt, dass on()
möglicht neue injizierten Elemente zu binden: (‚timecountdown‘)Javascript: Wie man on() Methode mit jedem() benutzt?
$(document).on(eventName, selector, function(){});
ich meine maßgeschneiderte timecountdown Funktion für alle $ gilt wollen, wenn Seite geladen wird, die neu abgerufenen Konto gilt auch für . Mein Code ist unten dargestellt:
<html>
<div class="timecountdown">50seconds</div>
<div class="timecountdown">20seconds</div>
<div class="timecountdown">60seconds</div>
...
...
...
</html>
<script>
$(function(){
$('.timecountdown').each(function(){
//code to counting down time on each elements using by javascript setInterval()
function, which minus one to the residual integer for every seconds.
//code to delete old account when time hits zero, then retrieve new accounts
via ajax post method
$.post("accountupdate.php", {id:id}, function(result){
code to display new <div class="timecountdown">Xseconds</div> account
})
})
</scirpt>
Ich habe versucht:
$(document).on(each, $('.timecountdown'), function(){
code to countdown time, delete and retrieve
});
'.on versuchen können()' bindet einen Event-Handler. Mit welchem Ereignis versuchst du umzugehen? Was ist das gewünschte Verhalten? Die zweite Zeile Ihrer Frage zeigt das korrekte Format für das Binden von delegierten Event-Handlern mit '.on()', aber Ihr Beispielcode ignoriert das vollständig, weil 'each' kein Ereignisname ist und' $ ('timecountdown') 'ist kein Selektor. Meinst du '$ (document) .on ('click', '.timecountdown', function() {/ * something * /});'? (Wo '' click'' ist ein Beispielereignis.) – nnnnnn
@nnnnnn Ich möchte, dass meine angepasste timecountdown-Funktion auf alle $ ('. Timecountdown') angewendet wird, wenn die Seite geladen wird. Dies gilt auch für das neu abgerufene Konto – badbye
'.on() 'macht keinen Sinn dafür. Wenden Sie Ihre Countdown-Funktion direkt auf das neu hinzugefügte Element im '$ .post()' Erfolgshandler an. – nnnnnn