jQuery的on方法无法触发Ajax,jquery 的on() 方法绑定了子元素事件,却无法触发。

一段html代码,结构如下图:

bVQtke?w=677&h=178

bVQtkf?w=845&h=321

bVQtkg?w=1025&h=498

.task-list下有多个结构相同的.task-item,每个.task-item下有一个.detail,每个.detail中又有五个子元素。

我想做这样的效果:当鼠标点击.detail下的input.content和textarea.desc时,文本框的背景颜色就变亮。

一开始我尝试了下列各种方法,都没有用

1.选取.detail 全部后代元素的前两个

$("div.task-list").on("click",".detail > *:lt(2)",function(e){

e.target.style.backgroundColor = "#ffffff";

});

2.在.detail层加限定

$("div.task-list").on("click",".detail:lt(99) > *:lt(2)",function(e){

e.target.style.backgroundColor = "#ffffff";

});

3.在.task-item层再加一层限定

$("div.task-list").on("click",".task-item:lt(99) > .detail:lt(99) > *:lt(2)",function(e){

e.target.style.backgroundColor = "#ffffff";

});

.............

.............

.............

基本上在选择器里改来改去,结果都是一模一样,那就是:

只有第一条.task-item里的.detail中的文本框点击会变色,

后面的.task.item里的点击无效。

bVQtkj?w=1140&h=548

bVQtkk?w=1136&h=585

最终后面用了这种简单的办法解决了问题。。。。。。

$("div.task-list").on("click",".content, .desc",function(e){

e.target.style.backgroundColor = "#ffffff";

});

请问jquery的on()方法的childSelector参数是有什么限制吗,或者还是jquery里lt()这种选择器有什么蹊跷。。。

查了好多资料没有看到满意的答案。望各位不吝赐教,谢谢!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值