Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Über Ajax werden alle Daten in UL geladen und das UL-Li-Click-Ereignis hinzugefügt, kann jedoch nicht ausgelöst werden.

Über Ajax werden alle Daten in UL geladen und das UL-Li-Click-Ereignis hinzugefügt, aber es kann nicht ausgelöst werden. Wenn es sich um ein UL-Ereignis handelt, kann es ausgelöst werden.

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); //添加全部城市            
           }
        
        });
    });

Implementierungsdiagramm

Tags

                <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>

Veranstaltungen

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

Antworte allen(5)Ich werde antworten

  • 黄舟

    黄舟2017-06-12 09:24:31

    $('selector').on('click','childSelector',function(){})
    使用 on() 方法添加的事件处理程序适用于当前及未来的元素

    Antwort
    0
  • 代言

    代言2017-06-12 09:24:31

    因为ajax事件是异步执行的,你点击的时候,并没有li这个don结构

    Antwort
    0
  • 滿天的星座

    滿天的星座2017-06-12 09:24:31

    循环时把id存在li的attr里
    <li c_id="" >
    点击事件 获取
    var cid = $this.attr('c_id');

    Antwort
    0
  • 扔个三星炸死你

    扔个三星炸死你2017-06-12 09:24:31

    使用$parentNode.on('click',childNode,callback)来绑定事件 原理就是事件冒泡机制

    Antwort
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-12 09:24:31

    注意三点:
    1.事件注册函数应该在Ajax调用成功后再注册,可以在ajax的回调函数中调用事件注册函数,
    2.确保你的注册事件的函数未写错,你这儿事件函数写错了,直接给click赋值,然后是你的class选择器,没发现有元素的class值是你选择器中的值,如果没有当然选不到。
    3.确保在你点击事件之前,确保事件已经注册完成。

    Antwort
    0
  • StornierenAntwort