2017-05-08 4 views
0

Ich habe einige click Ereignisse auf document.ready() geschrieben. Einige von ihnen funktionieren wie erwartet. Aber einige von ihnen laden nicht, wenn ich sie in setTimeout() stecke.jQuery-Ereignisse werden nicht in document.ready geladen()

Es funktioniert nicht

$('.clsName').click(function(){ //code here }); 

Aber, wird dies ein

setTimeout(function(){ 
    $('.clsName').click(function(){ //code here}); 
}.2000); 
+1

@prasad versuchen arbeiten, dass Hilfe über 'Dokument. bereit? – charlietfl

+0

Wenn es auch funktioniert, möchte ich wissen, warum es passiert. Einige von ihnen laden einige brauchen 'setTimeout()' – UserV789456

+2

Fügen Sie einige '.clsName' Elemente zum DOM nach dem Laden der Seite? Wenn dies der Fall ist, müssen Sie einen delegierten Event-Handler verwenden. –

Antwort

1

der Grund, warum würde

$(document).on('click','.clsName',function(){ //code here }); 
+0

** Aus Review-Warteschlange **: Darf ich bitte Sie, bitte fügen Sie etwas mehr Kontext um Ihre Antwort hinzu. Nur-Code-Antworten sind schwer zu verstehen. Es wird sowohl dem Fragesteller als auch zukünftigen Lesern helfen, wenn Sie in Ihrem Beitrag weitere Informationen hinzufügen können. – RBT