2017-04-24 3 views
0

Comme vous le savez, pour le code HTML qui est poussé dans le document après chargement de la page, cela ne fonctionnera pas:Comment puis-je sélectionner un élément HTML qui est poussé après le chargement de la page?

$('.myclass').on('click', function(){ 

}) 

Et nous devons l'écrire comme cela fonctionne:

$(document).on('click', '.myclass', function(){ 

}) 

Ok tout va bien, maintenant je veux savoir comment dois-je écrire le code suivant pour travailler pour le HTML qui est poussé plus tard?

$(".myclass").on({ 
    focusout: function() { 
    }, 
    keydown: function(ev) { 
    } 
}) 
+1

le décomposer en deux – epascarello

+0

Un écouteur d'événements ne fonctionnera que pour les éléments qui existaient lors de la création de l'écouteur d'événement. Si vous ajoutez de nouveaux éléments et souhaitez que les événements se déclenchent, vous devez recréer l'écouteur. – Sam07

Répondre

0

diviser en deux parties

$(document).on('focusout', '.myclass', function(){ 

}); 
$(document).on('keydown', '.myclass', function(ev){ 

}); 
0

Lorsque vous mettez un écouteur d'événement jQuery sur le document il écoutera les changements dans le document et appliquer des écouteurs d'événements correspondant à sélecteurs. Cela devrait être utilisé si vous ajoutez dynamiquement du contenu au DOM.

Vous voudrez probablement le casser en deux écouteurs d'événements distincts:

$(document).on('focusout', '.myclass', function(){ 
    //... 
}) 

$(document).on('keydown', '.myclass', function(){ 
    //... 
}) 

Si vous voulez que la fonction exacte de fonctionner sur les deux focuseout et keydown vous pouvez ajouter autant d'événements que vous voulez:

$(document).on('focusout keydown', '.myclass', function(){ 
    //... 
})