jQuery :为动态添加的表格添加click事件

**

情境要求

**

最近在做一个预约订餐的页面,要求根据后台数据建立动态的座位排列。这是根据AJAX的返回数据data建立的表格。
success:function (data) {
var a = data.seat_x;
var b = data.seat_y;
$("#seatDiv").empty();
for(var i = 1; i <= a; i++){//i为seat_x j为seat_y
$("#seatDiv").append(<ul></ul>);
for(var j=1;j<=b;j++){
$("#seatDiv ul").last().append(<li id = ${i}-${j}><img src="../img/1.png"></li>)
}
$("#seatDiv ul").last(“li”).append("");
}
},
最后效果图如下:
在这里插入图片描述
但是,当我为ul 里面的 li 添加click事件时,无法触发点击事件,然后大家应该都知道无法给动态添加的元素节点添加click事件。这个时候就需要使用on或者live方法。不过live方法好像被高版本禁用了。建议使用on事件。

重点开始

然后我是在seatDiv里面,动态添加的

在这里插入图片描述
然后通过jQuery锁定点击图片的id。
刚开始是这么写的:
$(“li”).click(function(){
})//不会触发事件
$(“ul”).on(“click”,“li”,function(){
})//不会触发事件
然后经研究发现,需要添加到将第一个jQuery锁定到静态元素上。
$(“seatDiv”).on(“click”,“ul”,function(){
})//可以触发事件,但是不能获得点击li的id进而确定选中的行和列(x,y)

又进行下面尝试:
(“seatDiv”).children(“ul”).on(“click”,“li”,function(){
})

最后发现
( " s e a t D i v " ) . o n ( " c l i c k " , " l i " , f u n c t i o n ( ) ) / / 即 可 总 结 : ("seatDiv").on("click","li",function(){ })//即可 总结: ("seatDiv").on("click","li",function())//(".class").on事件,class需要是静态结点,不然无法触发click事件。菜鸡一枚,敬请指正。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值