Rumah > Soal Jawab > teks badan
Melalui ajax, semua data dimuatkan dalam ul, dan acara klik ul li ditambah, tetapi ia tidak boleh dicetuskan Jika ia adalah peristiwa ul, ia boleh dicetuskan.
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); //添加全部城市
}
});
});
Gambar rajah pelaksanaan
tag
<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>
Acara
/*选择一个省 ,li[class='com-li gj_dispro'] 触发不了*/
$("ul[class='com-ul com-ul-288']").click(function(){
alert(1);
// 不明白为什么 ul 能触发,li就不行,
//请教一下如何获取到选择中li的省市和id
});
黄舟2017-06-12 09:24:31
$('selector').on('click','childSelector',function(){})
使用 on() 方法添加的事件处理程序适用于当前及未来的元素
代言2017-06-12 09:24:31
Oleh kerana acara ajax dilaksanakan secara tidak segerak, apabila anda mengklik, tiada struktur li don
滿天的星座2017-06-12 09:24:31
Simpan id dalam attr li apabila menggelung
<li c_id="" >
Klik acara untuk mendapatkan
var cid = $this.attr('c_id');
扔个三星炸死你2017-06-12 09:24:31
Gunakan $parentNode.on('click',childNode,callback) untuk mengikat acara Prinsipnya ialah mekanisme menggelegak acara
过去多啦不再A梦2017-06-12 09:24:31
Perhatikan tiga perkara:
1 Fungsi pendaftaran acara harus didaftarkan selepas panggilan Ajax berjaya Anda boleh memanggil fungsi panggilan balik ajax
2 fungsi acara di sini Tulisan yang salah, tetapkan nilai untuk diklik, dan kemudian pemilih kelas anda Saya tidak menemui sebarang elemen yang nilai kelasnya dalam pemilih anda.
3 Pastikan acara telah didaftarkan sebelum anda mengklik pada acara tersebut.