首页 新闻 会员 周边

jq的undelegate和delegate如何改为on

0
悬赏园豆:5 [已解决问题] 解决于 2018-10-19 11:41

$.fn.onContentLoad = function (fun) {
debugger;
$(document).undelegate($(this).selector, "onContentLoad");
$(document).delegate($(this).selector, "onContentLoad", fun);
};
求解这两句话是什么意思。。。
代码中有一个像load事件一样的方法
$(document).ready(function () {
debugger;
var currtable = $("#tableid");
$('#divid').onContentLoad(function (e) {
console.log(2);
});
jq升级3.0后发现这个方法不执行了。
跪求各位大神指点迷津

临冰听雪丶的主页 临冰听雪丶 | 初学一级 | 园豆:191
提问于:2018-10-12 14:37
< >
分享
最佳答案
0

undelegate 和 delegate 就是通过代理绑定事件,新版本已经没用了,现在都用 on和off,,,本质原理就是冒泡,场景:某些元素,是先ajax请求数据,然后渲染的dom,所以事件必须要等到,该dom渲染完成后,再绑定事件,,,,有了冒泡,我们就可以把事件绑定在页面,一开始就存在的元素上,比如 body,然后body接收到所有点击事件,通过判断来源,就知道是谁触发了事件。。这样的好处,就是不用等到那个dom,渲染完成再绑定事件

收获园豆:5
muamaker | 小虾三级 |园豆:763 | 2018-10-12 14:56

可是我如果改成on和off要怎么改呢。。。
完全没头绪。。。
在on和off中,这样绑定的函数要怎么写呀 T…T

临冰听雪丶 | 园豆:191 (初学一级) | 2018-10-12 15:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册