从jQuery 1.9 开始已经将 live 和 die 移除,取而代之的是 on 和 off
$("#crawl_web ul li span").off(‘click‘); $("#crawl_web ul li input").off(‘focus‘).off(‘blur‘); $("#crawl_web ul li span").on(‘click‘,function(){});
但要注意,上面的方法只对文件中已经有的标签有效;后续通过脚本动态添加的就没有对应的事件了;
解决方法:
$("#crawl_web").on(‘click‘, ‘ul li span‘, function(){});
$选择符中使用一个父级的ID或Document,不要使用多级选择符;
而把多级选择符放到后面的参数中;
参考:
jQuery 1.9/2.0/2.1及其以上 on 无效的解决办法
clone克隆方法不能克隆子标签的事件
jquery-1.8.3.min.js function clone(e, t) { return e = e == null ? !1 : e, t = t == null ? e : t, this.map(function () { return v.clone(this, e, t) }) } jquery-2.1.4.min.js function clone(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})}
单纯看clone方法也看不出什么问题,但是同样的方法在2.1.4上却达不到同样的效果;
这个问题尝试了不同的参数组合,也没有找到解决方案;
时间: 2024-10-23 11:23:38