S'il vous plaît lire cette première partie:
Transforme mon problème était que quelqu'un a utilisé onclick="some javascript"
, que tous mes bouchons d'événements n'a pas pris.Unbind tous les événements du contenu qui est ajouté dynamiquement via AJAX
Je n'ai trouvé aucune information à ce sujet, devrait-il s'agir d'un article wiki communautaire?
J'ai le contenu qui a dynamiquement du contenu chargé, où je veux délie événements:
Exemple de code sur initialisation:
<div id="Wrap"></div>
Exemple de code après chargement du contenu via AJAX :
<div id="Wrap">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
Ce que je veux:
- Le
.item
peut avoir un événement - L'élément est chargé dynamiquement via AJAX
- Il doit délier tous les événements, et le remplacer par un (< - c'est pas de problème)
Ce que je:
$(document).ready(handleWriteDisableds);
$(window).load(handleWriteDisableds); // in doc ready
$(document).ajaxComplete(handleWriteDisableds);
function handleWriteDisableds(){
$('.item').unbind() // remove all events set in doc-ready
$(document).on('click', '.item', function(e){
e.preventDefault(); // prevent default behaviour
e.stopPropagation(); // Don't bubble up
alert('no can do');
return false; // hardcore stopping stuff
});
}
Ce que je besoin:
Pour UNBIND TOUT après le chargement dynamique.
Édition Oh, Il s'avère que nous avons quelqu'un qui a utilisé l'attribut onclick, ceux-ci ne s'arrêtent pas apparemment. Je vais mettre à jour si j'ai plus d'informations
alors quel est le problème? n'êtes-vous pas capable de délier tous les événements? –
Si vous utilisez la délégation, vous devez dissocier l'élément parent sur lequel vous avez défini la délégation. –
J'ai ajouté un peu plus de code à mon exemple. Les événements ne se déconnectent pas – Martijn