Maison > interface Web > js tutoriel > le corps du texte

Solution au problème selon lequel les éléments chargés dynamiquement par js/jq ne peuvent pas être surveillés

php是最好的语言
Libérer: 2018-07-23 12:02:50
original
2721 Les gens l'ont consulté

Cet article présente la solution selon laquelle les éléments js/jq ajoutés dynamiquement ne peuvent pas déclencher d'événements de liaison. Si la version de jquery est comprise entre 1.3 et 1.8, les éléments js/jq ajoutés dynamiquement peuvent déclencher des événements de liaison.

Veuillez jeter un œil à votre version et vérifiez-la :

jquery1.6 et les versions inférieures ne prennent pas en charge les événements de délégué

jquery1.3 Les événements de délégué en direct sont pris en charge jusqu'à la version jQuery1.8

jquery1.9 et les versions ultérieures ne prennent pas en charge les événements de délégué en direct, mais l'événement on peut remplacer live

jquery1.3 et ci-dessous (hors jquery1 .3), il est temps de mettre à jour votre version de jquery. Parce que Il n'y a pas de solution, pas de solution, pas de solution, pas de solution, pas de solution, pas de solution

Si la version de jquery est comprise entre 1.3 et 1.8, l'élément ajouté dynamiquement par js/jq déclenche la solution à la méthode d'événement de liaison (il n'est pas recommandé d'utiliser l'événement on, car l'événement on n'est pas pris en charge sous la version 1.6 et une erreur sera signalée)

click例子
$('element').live('click',function(){})
element可以是动态生成的元素,可以是它的类或者id
Copier après la connexion

Si la version jquery est 1.9 ou version ultérieure, l'événement délégué en direct est supprimé et peut être atteint. Solution pour les éléments ajoutés dynamiquement dans js/jq pour déclencher des événements de liaison

Remarque  : Si la page a à la fois une version basse de jq (1.3-1.8) et une version haute de jq ( jquery 1.9 ou supérieur), l'événement délégué en direct sera supprimé par les versions supérieures, même si la version de jquery est comprise entre 1.3 et 1.8, si l'événement en direct est utilisé, la page signalera une erreur.

click例子
$('父元素').on('click', '子元素', function(){})
Copier après la connexion

L'élément chargé dynamiquement à ce moment doit être à l'intérieur de $('parent element'), sinon l'événement de liaison échouera. En d'autres termes, l'élément A doit être lié, mais l'élément A est généré dynamiquement, donc jq doit demander à l'élément parent de l'élément A de surveiller si un événement de clic se produit sur l'élément A.
Par exemple

<!DOCTYPE html>
<html>
<head>
    <title>js/jq 动态添加的元素不能触发绑定事件解决方案</title>
</head>
<script src="https://cdn.bootcss.com/jquery/1.9.0/jquery.js"></script><body>
<button>添加a标签</button>
<p class="a-Box">
    <a href="javascript:;" class="alt">My name is</a><br>
</p>
</body>
</html>
<script type="text/javascript">
    $(&#39;.a-Box&#39;).on(&#39;click&#39;, &#39;a&#39;, function(){
        alert(&#39;Jachin&#39;);
    })
    $(&#39;button&#39;).click(function(){
        $(&#39;p&#39;).append(&#39;<a href="javascript:;" class="alt">My name is</a><br>&#39;);
    })
</script>
Copier après la connexion

Cela peut parfaitement résoudre le problème selon lequel les éléments chargés dynamiquement ne peuvent pas être surveillés.

Enfin ci-joint une version de jquery

<script src="https://cdn.bootcss.com/jquery/1.2.3/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.2.6/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.3.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.4.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.5.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.6.1/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.7/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.8.0/jquery-1.8.0.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.9.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.10.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.11.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/1.12.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/2.0.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/2.1.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/2.2.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.0.0/jquery.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!