Jquery绑定页面新元素的方法

Jq绑定都是绑定现有代码中的已存在元素,例如:

$("#allin_group").click(function(){
    var isallin = $(this).attr("checked");
    if(isallin){
        $(".usergroup").attr("checked",true);
    }else{
        $(".usergroup").attr("checked",false);
    }
});

平时这样使用是没有问题的,但是如果之后又用append或是html等方法生成了新元素,上面的jq是不会执行的,因为新生成的元素并不在之前被绑定的范围当中。

这时候,应该使用Jq中的live方法来解决:

$("#allin_position").live("click",function(){
    var isallin = $(this).attr("checked");
    if(isallin){
        $(".position").attr("checked",true);
    }else{
        $(".position").attr("checked",false);
    }
});

live方法适用于绑定新生成元素,主要是因为通过 live() 方法附加的事件适用于选择器匹配的所有——当前及未来的元素(比如由脚本创建的新元素)

其实以前就有遇到过这一类的问题,但是因为当时没有重视,就利用各种方法取巧绕过了,今天是使用layer弹出新页面时候又遇到了,于是查阅资料解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值