javascript - 通过ajax,在ul加载了全部数据,添加了ul li 单击事件,可是触发不了。
学习ing
学习ing 2017-06-12 09:22:31
[PhpStudy讨论组]

通过ajax,在ul加载了全部数据,添加了ul li 单击事件,可是触发不了,如果是ul事件的话能触发。

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 +="
  • "+data[i].placename+"
  • "; } $("#assessPro").html(listr); //添加全部城市 } }); });

    实现图

    标签

                    

    事件

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

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

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

    滿天的星座

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

    扔个三星炸死你

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

    过去多啦不再A梦

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

    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号