javascript - Grâce à ajax, toutes les données sont chargées dans ul et l'événement ul li click est ajouté, mais il ne peut pas être déclenché.
学习ing
学习ing 2017-06-12 09:22:31
0
5
1168

Grâce à ajax, toutes les données sont chargées dans ul et l'événement ul li click est ajouté, mais il ne peut pas être déclenché. S'il s'agit d'un événement ul, il peut être déclenché.

ajax

 /*省市*/
$("#proNum").click(function(){        
        $.ajax({type:"post",
              url:"region/jsonRegion",
              dataType:"json",
              success:function(data){                  
            $("#gj_disProvince").toggleClass("active");
                var listr ="";
                for(var i = 0; i < data.length; i++){
                    listr +="<li class='com-li gj_dispro' proNum='"+data[i].id+"'>"+data[i].placename+"</li>";
                }
                $("#assessPro").html(listr); //添加全部城市            
           }
        
        });
    });

Schéma de mise en œuvre

étiquettes

                <p class="conselect mr-7" id="gj_disProvince">
                    <input class="inputype" readonly="readonly"placeholder="省份"
                        id="proNum" proNum="0">
                    <p class="p-r">
                        <p class="down-box">
                            <ul class="com-ul com-ul-288" id="assessPro">
                            </ul>
                        </p>
                    </p>
                </p>

Événements

    /*选择一个省 ,li[class='com-li gj_dispro'] 触发不了*/
    $("ul[class='com-ul com-ul-288']").click(function(){
         alert(1);    
        // 不明白为什么 ul 能触发,li就不行,
        //请教一下如何获取到选择中li的省市和id           
    });
学习ing
学习ing

répondre à tous(5)
黄舟
$('selector').on('click','childSelector',function(){})
使用 on() 方法添加的事件处理程序适用于当前及未来的元素
代言

Étant donné que l'événement ajax est exécuté de manière asynchrone, lorsque vous cliquez, il n'y a pas de structure Li Don

滿天的星座

Enregistrez l'identifiant dans l'attr de li lors de la boucle
<li c_id="" >
Cliquez sur l'événement pour obtenir
var cid = $this.attr('c_id');

扔个三星炸死你

Utilisez $parentNode.on('click',childNode,callback) pour lier des événements. Le principe est le mécanisme de bouillonnement d'événements

.
过去多啦不再A梦

Notez trois points :
1. La fonction d'enregistrement d'événement doit être enregistrée une fois l'appel Ajax réussi. Vous pouvez appeler la fonction d'enregistrement d'événement dans la fonction de rappel ajax.
2. Assurez-vous que votre fonction d'enregistrement d'événement n'est pas mal écrite. fonction d'événement ici Mauvaise écriture, attribuez directement une valeur au clic, puis votre sélecteur de classe je n'ai trouvé aucun élément dont la valeur de classe est la valeur dans votre sélecteur. Sinon, bien sûr, il ne peut pas être sélectionné.
3. Assurez-vous que l'événement a été enregistré avant de cliquer sur l'événement.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal